[INFO] fetching crate hydroflow 0.9.0... [INFO] checking hydroflow-0.9.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate hydroflow 0.9.0 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate hydroflow 0.9.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate hydroflow 0.9.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate hydroflow 0.9.0 [INFO] tweaked toml for crates.io crate hydroflow 0.9.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate crates.io crate hydroflow 0.9.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 6cec0278d789992aa3d86e88c95d414a82fb92ae846b61c0e5f559e284212c99 [INFO] running `Command { std: "docker" "start" "-a" "6cec0278d789992aa3d86e88c95d414a82fb92ae846b61c0e5f559e284212c99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6cec0278d789992aa3d86e88c95d414a82fb92ae846b61c0e5f559e284212c99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6cec0278d789992aa3d86e88c95d414a82fb92ae846b61c0e5f559e284212c99", kill_on_drop: false }` [INFO] [stdout] 6cec0278d789992aa3d86e88c95d414a82fb92ae846b61c0e5f559e284212c99 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 6686518abfc2d89f519c9a65dff24dfe2c032ad7339b7225854389c405f03350 [INFO] running `Command { std: "docker" "start" "-a" "6686518abfc2d89f519c9a65dff24dfe2c032ad7339b7225854389c405f03350", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (1 fix) [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling cc v1.1.14 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling serde_json v1.0.127 [INFO] [stderr] Compiling prettyplease v0.2.20 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling indexmap v2.4.0 [INFO] [stderr] Compiling syn v2.0.75 [INFO] [stderr] Compiling anstyle-parse v0.2.5 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling anstyle-query v1.1.1 [INFO] [stderr] Compiling tree-sitter v0.22.6 [INFO] [stderr] Compiling colorchoice v1.0.2 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.93 [INFO] [stderr] Compiling anstyle v1.0.8 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Compiling anstream v0.6.15 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling tree-sitter-loader v0.22.6 [INFO] [stderr] Compiling fastrand v2.1.1 [INFO] [stderr] Compiling clap_lex v0.7.2 [INFO] [stderr] Compiling url v2.5.2 [INFO] [stderr] Compiling clap_builder v4.5.15 [INFO] [stderr] Compiling fs4 v0.8.4 [INFO] [stderr] Compiling tempfile v3.12.0 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling chunked_transfer v1.5.0 [INFO] [stderr] Compiling tree-sitter-cli v0.22.6 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling bumpalo v3.16.0 [INFO] [stderr] Compiling utf8-width v0.1.7 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling ascii v1.1.0 [INFO] [stderr] Compiling html-escape v0.2.13 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling ctrlc v3.4.5 [INFO] [stderr] Compiling tiny_http v0.12.0 [INFO] [stderr] Compiling webbrowser v1.0.1 [INFO] [stderr] Compiling wasmparser v0.206.0 [INFO] [stderr] Compiling rust-sitter-common v0.4.2 [INFO] [stderr] Compiling filetime v0.2.24 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.93 [INFO] [stderr] Compiling difference v2.0.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling smallbitvec v2.5.3 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.93 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Checking lock_api v0.4.12 [INFO] [stderr] Compiling syn-inline-mod v0.5.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking unicode-ident v1.0.12 [INFO] [stderr] Compiling c2rust-bitfields-derive v0.2.1 [INFO] [stderr] Compiling tree-sitter-c2rust v0.22.6 [INFO] [stderr] Compiling wasm-bindgen v0.2.93 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling serde_derive v1.0.208 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling clap_derive v4.5.13 [INFO] [stderr] Compiling hydroflow_lang v0.9.0 [INFO] [stderr] Compiling auto_impl v1.2.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.93 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling c2rust-bitfields v0.3.0 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling tree-sitter-tags v0.22.6 [INFO] [stderr] Compiling tree-sitter-highlight v0.22.6 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling clap v4.5.16 [INFO] [stderr] Compiling sealed v0.5.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking tokio v1.39.3 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rust-sitter-macro v0.4.2 [INFO] [stderr] Compiling rust-sitter v0.4.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking plotters-backend v0.3.6 [INFO] [stderr] Checking winnow v0.6.18 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Compiling ref-cast v1.0.23 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking serde_spanned v0.6.7 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking plotters-svg v0.3.6 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking js-sys v0.3.70 [INFO] [stderr] Checking variadics v0.0.6 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Compiling lattices_macro v0.5.6 [INFO] [stderr] Checking toml_edit v0.22.20 [INFO] [stderr] Compiling ref-cast-impl v1.0.23 [INFO] [stderr] Compiling tree-sitter-config v0.22.6 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking cc-traits v2.0.0 [INFO] [stderr] Compiling trybuild v1.0.99 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking lattices v0.5.7 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking pusherator v0.0.8 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking plotters v0.3.6 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking console_error_panic_hook v0.1.7 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.43 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.43 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking glob v0.3.1 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking web-time v1.1.0 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking similar v2.6.0 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking wasm-bindgen-test v0.3.43 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking insta v1.39.0 [INFO] [stderr] Compiling rust-sitter-tool v0.4.2 [INFO] [stderr] Checking zipf v7.0.1 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Compiling multiplatform_test v0.2.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling hydroflow_macro v0.9.0 [INFO] [stderr] Compiling hydroflow_datalog_core v0.9.0 [INFO] [stderr] Compiling hydroflow_datalog v0.9.0 [INFO] [stderr] Checking hydroflow v0.9.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `hydroflow` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/declarative_macro.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/declarative_macro.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | ($cond:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:9:6 [INFO] [stderr] | [INFO] [stderr] 9 | ($cond:expr_2021, $fmt:literal) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:12:6 [INFO] [stderr] | [INFO] [stderr] 12 | ($cond:expr_2021, $fmt:literal, $($arg:tt)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:27:6 [INFO] [stderr] | [INFO] [stderr] 27 | ($a:expr_2021, $b:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | ($a:expr_2021, $b: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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | ($cond: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] 6 | ($cond:expr_2021 $(,)?) => { [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: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | ($cond:expr, $fmt:literal) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 9 | ($cond:expr_2021, $fmt:literal) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | ($cond:expr, $fmt:literal, $($arg:tt)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($cond:expr_2021, $fmt:literal, $($arg:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | ($a:expr, $b:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 27 | ($a:expr_2021, $b:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/declarative_macro.rs:30:6 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | ($a:expr, $b:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 27 | ($a:expr, $b:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | ($a:expr, $b:expr, $($arg:tt)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($a:expr_2021, $b:expr, $($arg:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 30 | ($a:expr_2021, $b:expr_2021, $($arg:tt)*) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:30:18 [INFO] [stdout] | [INFO] [stdout] 30 | ($a:expr, $b:expr, $($arg:tt)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($a:expr, $b:expr_2021, $($arg:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiled/pull/cross_join.rs:66:24 [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(l) = self.lhs.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiled/pull/cross_join.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 72 | } [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] 66 ~ match self.lhs.next() { Some(l) => { [INFO] [stdout] 67 | self.state.draw_from_left = true; [INFO] [stdout] ... [INFO] [stdout] 71 | break; [INFO] [stdout] 72 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiled/pull/cross_join.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | if let Some(r) = self.rhs.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiled/pull/cross_join.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 74 ~ match self.rhs.next() { Some(r) => { [INFO] [stdout] 75 | self.state.draw_from_left = false; [INFO] [stdout] ... [INFO] [stdout] 79 | break; [INFO] [stdout] 80 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:30:20 [INFO] [stderr] | [INFO] [stderr] 30 | ($a:expr_2021, $b:expr_2021, $($arg:tt)*) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 7 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiled/pull/symmetric_hash_join.rs:45:24 [INFO] [stdout] | [INFO] [stdout] 45 | if let Some((k, v1, v2)) = self.rhs_state.probe(&k, &v1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiled/pull/symmetric_hash_join.rs:47:21 [INFO] [stdout] | [INFO] [stdout] 47 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 45 ~ match self.rhs_state.probe(&k, &v1) { Some((k, v1, v2)) => { [INFO] [stdout] 46 | return Some((k, (v1, v2))); [INFO] [stdout] 47 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiled/pull/symmetric_hash_join.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | if let Some((k, v2, v1)) = self.lhs_state.probe(&k, &v2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiled/pull/symmetric_hash_join.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 53 ~ match self.lhs_state.probe(&k, &v2) { Some((k, v2, v1)) => { [INFO] [stdout] 54 | return Some((k, (v1, v2))); [INFO] [stdout] 55 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(&pred_sg_id) = tee_root_data.preds.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^-------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ match tee_root_data.preds.first() { Some(&pred_sg_id) => { [INFO] [stdout] 150 | self.subgraphs[pred_sg_id.0] [INFO] [stdout] 151 | .succs [INFO] [stdout] 152 | .retain(|&succ_hoff| succ_hoff != tee_port.handoff_id); [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:282:15 [INFO] [stdout] | [INFO] [stdout] 282 | while let Some(sg_id) = self.stratum_queues[self.context.current_stratum].pop_front() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 317 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:456:15 [INFO] [stdout] | [INFO] [stdout] 456 | while let Ok((sg_id, is_external)) = self.event_queue_recv.try_recv() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:480:9 [INFO] [stdout] | [INFO] [stdout] 480 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Future + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:812:37 [INFO] [stdout] | [INFO] [stdout] 812 | pub fn join_tasks(&mut self) -> impl '_ + Future { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/scheduled/graph.rs:797:6 [INFO] [stdout] | [INFO] [stdout] 797 | impl<'a> Hydroflow<'a> { [INFO] [stdout] | ^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 812 | pub fn join_tasks(&mut self) -> impl '_ + Future + use<'_> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/graph_ext.rs:211:19 [INFO] [stdout] | [INFO] [stdout] 211 | while let Poll::Ready(Some(v)) = stream.as_mut().poll_next(&mut cx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/graph_ext.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/net/mod.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | if let std::task::Poll::Ready(Ok(())) = Pin::new(&mut writer).poll_ready(&mut cx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/net/mod.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 128 ~ match Pin::new(&mut writer).poll_ready(&mut cx) { std::task::Poll::Ready(Ok(())) => { [INFO] [stdout] 129 | let v = message_queue.pop_front().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 133 | Pin::new(&mut writer).start_send(buf.into()).unwrap(); [INFO] [stdout] 134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:71:27 [INFO] [stdout] | [INFO] [stdout] 71 | while let Some(msg) = reader.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | while let Some(addr) = connection_reqs_recv.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:207:20 [INFO] [stdout] | [INFO] [stdout] 207 | if let Err(e) = outbound_messages_send.try_send(msg) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 207 ~ match outbound_messages_send.try_send(msg) { Err(e) => { [INFO] [stdout] 208 | // If we weren't able to send a message (say, because the [INFO] [stdout] ... [INFO] [stdout] 212 | next_messages.push(e.into_inner()); [INFO] [stdout] 213 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/sparse_vec.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | if let Some(indices) = self.item_locs.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/util/sparse_vec.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 33 ~ match self.item_locs.get(item) { Some(indices) => { [INFO] [stdout] 34 | for index in indices { [INFO] [stdout] 35 | self.items[*index] = None; [INFO] [stdout] 36 | } [INFO] [stdout] 37 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if let Some(strong) = Weak::upgrade(&self.weak) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | } 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] 24 ~ match Weak::upgrade(&self.weak) { Some(strong) => { [INFO] [stdout] 25 | let mut shared = strong.borrow_mut(); [INFO] [stdout] ... [INFO] [stdout] 37 | } [INFO] [stdout] 38 ~ } _ => { [INFO] [stdout] 39 | // Closed. [INFO] [stdout] 40 | Poll::Ready(Err(SendError(item.take().unwrap()))) [INFO] [stdout] 41 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | if let Some(strong) = Weak::upgrade(&self.weak) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:64:9 [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] 52 ~ match Weak::upgrade(&self.weak) { Some(strong) => { [INFO] [stdout] 53 | let mut shared = strong.borrow_mut(); [INFO] [stdout] ... [INFO] [stdout] 63 | } [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | Err(TrySendError::Closed(item)) [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | if let Some(strong) = self.weak.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match self.weak.upgrade() { Some(strong) => { [INFO] [stdout] 94 | strong.borrow_mut().wake_receiver(); [INFO] [stdout] 95 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | if let Some(strong) = Weak::upgrade(&self.weak) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ match Weak::upgrade(&self.weak) { Some(strong) => { [INFO] [stdout] 104 | let mut shared = strong.borrow_mut(); [INFO] [stdout] ... [INFO] [stdout] 115 | } [INFO] [stdout] 116 ~ } _ => { [INFO] [stdout] 117 | // Closed [INFO] [stdout] 118 | Poll::Ready(Err(TrySendError::Closed(None))) [INFO] [stdout] 119 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(value) = shared.buffer.pop_front() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | } else if 0 == Rc::weak_count(&self.strong) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 157 ~ match shared.buffer.pop_front() { Some(value) => { [INFO] [stdout] 158 | shared.wake_sender(); [INFO] [stdout] 159 | Poll::Ready(Some(value)) [INFO] [stdout] 160 ~ } _ => if 0 == Rc::weak_count(&self.strong) { [INFO] [stdout] 161 | Poll::Ready(None) // Empty and dropped. [INFO] [stdout] ... [INFO] [stdout] 164 | Poll::Pending [INFO] [stdout] 165 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | if let Some(waker) = self.send_wakers.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/util/unsync/mpsc.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 212 ~ match self.send_wakers.pop() { Some(waker) => { [INFO] [stdout] 213 | waker.wake(); [INFO] [stdout] 214 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | if let Some(waker) = self.recv_waker.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 222 ~ match self.recv_waker.take() { Some(waker) => { [INFO] [stdout] 223 | waker.wake(); [INFO] [stdout] 224 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Sink<(T, simulation::Address), Error = Infallible>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/util/simulation.rs:202:10 [INFO] [stdout] | [INFO] [stdout] 202 | ) -> impl Sink<(T, Address), Error = Infallible> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/util/simulation.rs:180:6 [INFO] [stdout] | [INFO] [stdout] 180 | impl<'context> TransducerBuilderContext<'context> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | &mut self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 202 | ) -> impl Sink<(T, Address), Error = Infallible> + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:336:16 [INFO] [stdout] | [INFO] [stdout] 336 | if let Some(destination_host) = self.hosts.get(&addr.host) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 336 ~ match self.hosts.get(&addr.host) { Some(destination_host) => { [INFO] [stdout] 337 | if let Some(input) = destination_host.inputs.get(&addr.interface) { [INFO] [stdout] ... [INFO] [stdout] 346 | } [INFO] [stdout] 347 ~ } _ => { [INFO] [stdout] 348 | trace!( [INFO] [stdout] ... [INFO] [stdout] 352 | ); [INFO] [stdout] 353 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:337:20 [INFO] [stdout] | [INFO] [stdout] 337 | if let Some(input) = destination_host.inputs.get(&addr.interface) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----------------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:339:17 [INFO] [stdout] | [INFO] [stdout] 339 | } 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] 337 ~ match destination_host.inputs.get(&addr.interface) { Some(input) => { [INFO] [stdout] 338 | input.sender.send((msg, src_address.clone())); [INFO] [stdout] 339 ~ } _ => { [INFO] [stdout] 340 | trace!( [INFO] [stdout] ... [INFO] [stdout] 345 | ); [INFO] [stdout] 346 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:94:19 [INFO] [stdout] | [INFO] [stdout] 94 | while let Some((payload, addr)) = rx_egress.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:97:20 [INFO] [stdout] | [INFO] [stdout] 97 | if let Some(mut sender) = client { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 97 ~ match client { Some(mut sender) => { [INFO] [stdout] 98 | let _ = SinkExt::send(&mut sender, payload).await; [INFO] [stdout] 99 | clients.borrow_mut().insert(addr, sender); [INFO] [stdout] 100 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:107:42 [INFO] [stdout] | [INFO] [stdout] 107 | let (stream, peer_addr) = if let Ok((stream, _)) = listener.accept().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | } 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] 107 ~ let (stream, peer_addr) = match listener.accept().await { Ok((stream, _)) => { [INFO] [stdout] 108 | if let Ok(peer_addr) = stream.peer_addr() { [INFO] [stdout] ... [INFO] [stdout] 112 | } [INFO] [stdout] 113 ~ } _ => { [INFO] [stdout] 114 | continue; [INFO] [stdout] 115 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:108:20 [INFO] [stdout] | [INFO] [stdout] 108 | if let Ok(peer_addr) = stream.peer_addr() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 ~ match stream.peer_addr() { Ok(peer_addr) => { [INFO] [stdout] 109 | (stream, peer_addr) [INFO] [stdout] 110 ~ } _ => { [INFO] [stdout] 111 | continue; [INFO] [stdout] 112 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | while let Some((payload, addr)) = rx_egress.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 36 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `hydroflow` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/declarative_macro.rs [INFO] [stderr] * src/util/simulation.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/declarative_macro.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | ($cond:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:9:6 [INFO] [stderr] | [INFO] [stderr] 9 | ($cond:expr_2021, $fmt:literal) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:12:6 [INFO] [stderr] | [INFO] [stderr] 12 | ($cond:expr_2021, $fmt:literal, $($arg:tt)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:27:6 [INFO] [stderr] | [INFO] [stderr] 27 | ($a:expr_2021, $b:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | ($a:expr_2021, $b:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:30:6 [INFO] [stderr] | [INFO] [stderr] 30 | ($a:expr_2021, $b:expr_2021, $($arg:tt)*) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/declarative_macro.rs:30:20 [INFO] [stderr] | [INFO] [stderr] 30 | ($a:expr_2021, $b:expr_2021, $($arg:tt)*) => { [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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> src/util/simulation.rs:399:23 [INFO] [stderr] | [INFO] [stderr] 399 | out = { dest_sink(network_output) => match dest_sink(network_output) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> src/util/simulation.rs:417:23 [INFO] [stderr] | [INFO] [stderr] 417 | out = { dest_sink(network_out) => match dest_sink(network_out) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 9 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | ($cond: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] 6 | ($cond:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | ($cond:expr, $fmt:literal) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 9 | ($cond:expr_2021, $fmt:literal) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | ($cond:expr, $fmt:literal, $($arg:tt)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($cond:expr_2021, $fmt:literal, $($arg:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | ($a:expr, $b:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 27 | ($a:expr_2021, $b:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/surface_cross_singleton.rs from 2021 edition to 2024 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | ($a:expr, $b:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 27 | ($a:expr, $b:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | ($a:expr, $b:expr, $($arg:tt)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($a:expr_2021, $b:expr, $($arg:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/declarative_macro.rs:30:18 [INFO] [stdout] | [INFO] [stdout] 30 | ($a:expr, $b:expr, $($arg:tt)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | ($a:expr, $b:expr_2021, $($arg:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiled/pull/cross_join.rs:66:24 [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(l) = self.lhs.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiled/pull/cross_join.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 72 | } [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] 66 ~ match self.lhs.next() { Some(l) => { [INFO] [stdout] 67 | self.state.draw_from_left = true; [INFO] [stdout] ... [INFO] [stdout] 71 | break; [INFO] [stdout] 72 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiled/pull/cross_join.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | if let Some(r) = self.rhs.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiled/pull/cross_join.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 74 ~ match self.rhs.next() { Some(r) => { [INFO] [stdout] 75 | self.state.draw_from_left = false; [INFO] [stdout] ... [INFO] [stdout] 79 | break; [INFO] [stdout] 80 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiled/pull/symmetric_hash_join.rs:45:24 [INFO] [stdout] | [INFO] [stdout] 45 | if let Some((k, v1, v2)) = self.rhs_state.probe(&k, &v1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiled/pull/symmetric_hash_join.rs:47:21 [INFO] [stdout] | [INFO] [stdout] 47 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 45 ~ match self.rhs_state.probe(&k, &v1) { Some((k, v1, v2)) => { [INFO] [stdout] 46 | return Some((k, (v1, v2))); [INFO] [stdout] 47 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiled/pull/symmetric_hash_join.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | if let Some((k, v2, v1)) = self.lhs_state.probe(&k, &v2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiled/pull/symmetric_hash_join.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 53 ~ match self.lhs_state.probe(&k, &v2) { Some((k, v2, v1)) => { [INFO] [stdout] 54 | return Some((k, (v1, v2))); [INFO] [stdout] 55 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(&pred_sg_id) = tee_root_data.preds.first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^-------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ match tee_root_data.preds.first() { Some(&pred_sg_id) => { [INFO] [stdout] 150 | self.subgraphs[pred_sg_id.0] [INFO] [stdout] 151 | .succs [INFO] [stdout] 152 | .retain(|&succ_hoff| succ_hoff != tee_port.handoff_id); [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:282:15 [INFO] [stdout] | [INFO] [stdout] 282 | while let Some(sg_id) = self.stratum_queues[self.context.current_stratum].pop_front() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 317 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:456:15 [INFO] [stdout] | [INFO] [stdout] 456 | while let Ok((sg_id, is_external)) = self.event_queue_recv.try_recv() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:480:9 [INFO] [stdout] | [INFO] [stdout] 480 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Future + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/scheduled/graph.rs:812:37 [INFO] [stdout] | [INFO] [stdout] 812 | pub fn join_tasks(&mut self) -> impl '_ + Future { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/scheduled/graph.rs:797:6 [INFO] [stdout] | [INFO] [stdout] 797 | impl<'a> Hydroflow<'a> { [INFO] [stdout] | ^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 812 | pub fn join_tasks(&mut self) -> impl '_ + Future + use<'_> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/graph_ext.rs:211:19 [INFO] [stdout] | [INFO] [stdout] 211 | while let Poll::Ready(Some(v)) = stream.as_mut().poll_next(&mut cx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/graph_ext.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/net/mod.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | if let std::task::Poll::Ready(Ok(())) = Pin::new(&mut writer).poll_ready(&mut cx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/net/mod.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 128 ~ match Pin::new(&mut writer).poll_ready(&mut cx) { std::task::Poll::Ready(Ok(())) => { [INFO] [stdout] 129 | let v = message_queue.pop_front().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 133 | Pin::new(&mut writer).start_send(buf.into()).unwrap(); [INFO] [stdout] 134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:71:27 [INFO] [stdout] | [INFO] [stdout] 71 | while let Some(msg) = reader.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | while let Some(addr) = connection_reqs_recv.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:207:20 [INFO] [stdout] | [INFO] [stdout] 207 | if let Err(e) = outbound_messages_send.try_send(msg) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scheduled/net/network_vertex.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 207 ~ match outbound_messages_send.try_send(msg) { Err(e) => { [INFO] [stdout] 208 | // If we weren't able to send a message (say, because the [INFO] [stdout] ... [INFO] [stdout] 212 | next_messages.push(e.into_inner()); [INFO] [stdout] 213 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/sparse_vec.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | if let Some(indices) = self.item_locs.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/util/sparse_vec.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 33 ~ match self.item_locs.get(item) { Some(indices) => { [INFO] [stdout] 34 | for index in indices { [INFO] [stdout] 35 | self.items[*index] = None; [INFO] [stdout] 36 | } [INFO] [stdout] 37 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if let Some(strong) = Weak::upgrade(&self.weak) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | } 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] 24 ~ match Weak::upgrade(&self.weak) { Some(strong) => { [INFO] [stdout] 25 | let mut shared = strong.borrow_mut(); [INFO] [stdout] ... [INFO] [stdout] 37 | } [INFO] [stdout] 38 ~ } _ => { [INFO] [stdout] 39 | // Closed. [INFO] [stdout] 40 | Poll::Ready(Err(SendError(item.take().unwrap()))) [INFO] [stdout] 41 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | if let Some(strong) = Weak::upgrade(&self.weak) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:64:9 [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] 52 ~ match Weak::upgrade(&self.weak) { Some(strong) => { [INFO] [stdout] 53 | let mut shared = strong.borrow_mut(); [INFO] [stdout] ... [INFO] [stdout] 63 | } [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | Err(TrySendError::Closed(item)) [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | if let Some(strong) = self.weak.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match self.weak.upgrade() { Some(strong) => { [INFO] [stdout] 94 | strong.borrow_mut().wake_receiver(); [INFO] [stdout] 95 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | if let Some(strong) = Weak::upgrade(&self.weak) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ match Weak::upgrade(&self.weak) { Some(strong) => { [INFO] [stdout] 104 | let mut shared = strong.borrow_mut(); [INFO] [stdout] ... [INFO] [stdout] 115 | } [INFO] [stdout] 116 ~ } _ => { [INFO] [stdout] 117 | // Closed [INFO] [stdout] 118 | Poll::Ready(Err(TrySendError::Closed(None))) [INFO] [stdout] 119 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(value) = shared.buffer.pop_front() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | } else if 0 == Rc::weak_count(&self.strong) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 157 ~ match shared.buffer.pop_front() { Some(value) => { [INFO] [stdout] 158 | shared.wake_sender(); [INFO] [stdout] 159 | Poll::Ready(Some(value)) [INFO] [stdout] 160 ~ } _ => if 0 == Rc::weak_count(&self.strong) { [INFO] [stdout] 161 | Poll::Ready(None) // Empty and dropped. [INFO] [stdout] ... [INFO] [stdout] 164 | Poll::Pending [INFO] [stdout] 165 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | if let Some(waker) = self.send_wakers.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/util/unsync/mpsc.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 212 ~ match self.send_wakers.pop() { Some(waker) => { [INFO] [stdout] 213 | waker.wake(); [INFO] [stdout] 214 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | if let Some(waker) = self.recv_waker.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 222 ~ match self.recv_waker.take() { Some(waker) => { [INFO] [stdout] 223 | waker.wake(); [INFO] [stdout] 224 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:315:23 [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(x) = recv.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:319:17 [INFO] [stdout] | [INFO] [stdout] 319 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:360:23 [INFO] [stdout] | [INFO] [stdout] 360 | while let Some(x) = recv.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/unsync/mpsc.rs:363:17 [INFO] [stdout] | [INFO] [stdout] 363 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Sink<(T, simulation::Address), Error = Infallible>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/util/simulation.rs:202:10 [INFO] [stdout] | [INFO] [stdout] 202 | ) -> impl Sink<(T, Address), Error = Infallible> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/util/simulation.rs:180:6 [INFO] [stdout] | [INFO] [stdout] 180 | impl<'context> TransducerBuilderContext<'context> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | &mut self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 202 | ) -> impl Sink<(T, Address), Error = Infallible> + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:336:16 [INFO] [stdout] | [INFO] [stdout] 336 | if let Some(destination_host) = self.hosts.get(&addr.host) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 336 ~ match self.hosts.get(&addr.host) { Some(destination_host) => { [INFO] [stdout] 337 | if let Some(input) = destination_host.inputs.get(&addr.interface) { [INFO] [stdout] ... [INFO] [stdout] 346 | } [INFO] [stdout] 347 ~ } _ => { [INFO] [stdout] 348 | trace!( [INFO] [stdout] ... [INFO] [stdout] 352 | ); [INFO] [stdout] 353 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:337:20 [INFO] [stdout] | [INFO] [stdout] 337 | if let Some(input) = destination_host.inputs.get(&addr.interface) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-----------------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:339:17 [INFO] [stdout] | [INFO] [stdout] 339 | } 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] 337 ~ match destination_host.inputs.get(&addr.interface) { Some(input) => { [INFO] [stdout] 338 | input.sender.send((msg, src_address.clone())); [INFO] [stdout] 339 ~ } _ => { [INFO] [stdout] 340 | trace!( [INFO] [stdout] ... [INFO] [stdout] 345 | ); [INFO] [stdout] 346 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:399:23 [INFO] [stdout] | [INFO] [stdout] 399 | out = dest_sink(network_output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:399:47 [INFO] [stdout] | [INFO] [stdout] 399 | out = dest_sink(network_output); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:399:23 [INFO] [stdout] | [INFO] [stdout] 399 | out = dest_sink(network_output); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:399:47 [INFO] [stdout] | [INFO] [stdout] 399 | out = dest_sink(network_output); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 399 | out = match { dest_sink(network_output) => dest_sink(network_output) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:417:23 [INFO] [stdout] | [INFO] [stdout] 417 | out = dest_sink(network_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:417:44 [INFO] [stdout] | [INFO] [stdout] 417 | out = dest_sink(network_out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:417:23 [INFO] [stdout] | [INFO] [stdout] 417 | out = dest_sink(network_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/simulation.rs:417:44 [INFO] [stdout] | [INFO] [stdout] 417 | out = dest_sink(network_out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 417 | out = match { dest_sink(network_out) => dest_sink(network_out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:94:19 [INFO] [stdout] | [INFO] [stdout] 94 | while let Some((payload, addr)) = rx_egress.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:97:20 [INFO] [stdout] | [INFO] [stdout] 97 | if let Some(mut sender) = client { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 97 ~ match client { Some(mut sender) => { [INFO] [stdout] 98 | let _ = SinkExt::send(&mut sender, payload).await; [INFO] [stdout] 99 | clients.borrow_mut().insert(addr, sender); [INFO] [stdout] 100 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:107:42 [INFO] [stdout] | [INFO] [stdout] 107 | let (stream, peer_addr) = if let Ok((stream, _)) = listener.accept().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | } 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] 107 ~ let (stream, peer_addr) = match listener.accept().await { Ok((stream, _)) => { [INFO] [stdout] 108 | if let Ok(peer_addr) = stream.peer_addr() { [INFO] [stdout] ... [INFO] [stdout] 112 | } [INFO] [stdout] 113 ~ } _ => { [INFO] [stdout] 114 | continue; [INFO] [stdout] 115 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:108:20 [INFO] [stdout] | [INFO] [stdout] 108 | if let Ok(peer_addr) = stream.peer_addr() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 ~ match stream.peer_addr() { Ok(peer_addr) => { [INFO] [stdout] 109 | (stream, peer_addr) [INFO] [stdout] 110 ~ } _ => { [INFO] [stdout] 111 | continue; [INFO] [stdout] 112 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | while let Some((payload, addr)) = rx_egress.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/tcp.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 42 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/example_surface_flows_4_context.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/scheduled_test.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_demux_enum.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_fold.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_forwardref.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_parser.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_reduce.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_warnings.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_demux_partition.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_lattice_fold.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_singleton.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_multiset_delta.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | -> multiset_delta() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | -> multiset_delta() [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] 12 | -> match { multiset_delta() => _ => } [INFO] [stdout] | +++++ +++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/deadlock_detector/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | -> multiset_delta() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | -> multiset_delta() [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 | -> match { multiset_delta() => _ => } [INFO] [stdout] | +++++ +++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `surface_multiset_delta` [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | -> multiset_delta() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:61:31 [INFO] [stdout] | [INFO] [stdout] 61 | -> multiset_delta() [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 61 | -> match { multiset_delta() => _ => } [INFO] [stdout] | +++++ +++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/surface_multiset_delta.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: this file contains an unclosed delimiter [INFO] [stderr] --> tests/surface_multiset_delta.rs:184:3 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn test_multiset_delta() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 33 | pub fn test_persist_multiset_delta() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 55 | pub fn test_multiset_delta_2() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 81 | fn test_chat_app_replay() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 137 | fn test_chat_app_replay_manual() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 143 | -> { multiset_delta() => match _ => [INFO] [stderr] | - this delimiter might not be properly closed... [INFO] [stderr] 144 | -> for_each(|x| result_send.send(x).unwrap()); [INFO] [stderr] 145 | }; [INFO] [stderr] | - ...as it matches this but it has different indentation [INFO] [stderr] ... [INFO] [stderr] 184 | } [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | -> multiset_delta() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:92:31 [INFO] [stdout] | [INFO] [stdout] 92 | -> multiset_delta() [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 92 | -> match { multiset_delta() => _ => } [INFO] [stdout] | +++++ +++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:143:16 [INFO] [stdout] | [INFO] [stdout] 143 | -> multiset_delta() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_multiset_delta.rs:143:31 [INFO] [stdout] | [INFO] [stdout] 143 | -> multiset_delta() [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 | -> match { multiset_delta() => _ => } [INFO] [stdout] | +++++ +++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/shopping/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/deadlock_detector/peer.rs:31:63 [INFO] [stdout] | [INFO] [stdout] 31 | outbound_chan = map(|(m,a)| (serialize_msg(m), a)) -> dest_sink(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/deadlock_detector/peer.rs:31:81 [INFO] [stdout] | [INFO] [stdout] 31 | outbound_chan = map(|(m,a)| (serialize_msg(m), a)) -> dest_sink(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `deadlock_detector` [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/deadlock_detector/peer.rs:31:63 [INFO] [stdout] | [INFO] [stdout] 31 | outbound_chan = map(|(m,a)| (serialize_msg(m), a)) -> dest_sink(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/deadlock_detector/peer.rs:31:81 [INFO] [stdout] | [INFO] [stdout] 31 | outbound_chan = map(|(m,a)| (serialize_msg(m), a)) -> dest_sink(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 | outbound_chan = map(|(m,a)| (serialize_msg(m), a)) -> match { dest_sink(outbound) => dest_sink(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/deadlock_detector/peer.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/deadlock_detector/peer.rs:31:63 [INFO] [stderr] | [INFO] [stderr] 31 | outbound_chan = map(|(m,a)| (serialize_msg(m), a)) -> { dest_sink(outbound) => match dest_sink(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::identity` [INFO] [stderr] --> examples/deadlock_detector/peer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::convert::identity; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/deadlock_detector/peer.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `deserialize_msg`, `format_cycle`, `gen_bool`, `parse_edge`, and `serialize_msg` [INFO] [stderr] --> examples/deadlock_detector/peer.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::helpers::{deserialize_msg, format_cycle, gen_bool, parse_edge, serialize_msg}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Message` and `SimplePath` [INFO] [stderr] --> examples/deadlock_detector/peer.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::protocol::{Message, SimplePath}; [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 4 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating examples/example_6_unreachability.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `shopping` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/shopping/flows/bp_flow.rs [INFO] [stderr] * examples/shopping/flows/client_state_flow.rs [INFO] [stderr] * examples/shopping/flows/orig_flow.rs [INFO] [stderr] * examples/shopping/flows/push_group_flow.rs [INFO] [stderr] * examples/shopping/flows/rep_server_flow.rs [INFO] [stderr] * examples/shopping/flows/server_state_flow.rs [INFO] [stderr] * examples/shopping/flows/ssiv_flow.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/shopping/flows/bp_flow.rs:37:40 [INFO] [stderr] | [INFO] [stderr] 37 | -> map(|m| (m, out_addr)) -> { dest_sink_serde(out) => match dest_sink_serde(out) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/shopping/flows/client_state_flow.rs:38:49 [INFO] [stderr] | [INFO] [stderr] 38 | -> map(|pair| (pair, remote_addr)) -> { dest_sink_serde(carts_out) => match dest_sink_serde(carts_out) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/shopping/flows/orig_flow.rs:31:40 [INFO] [stderr] | [INFO] [stderr] 31 | -> map(|m| (m, out_addr)) -> { dest_sink_serde(out) => match dest_sink_serde(out) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/shopping/flows/push_group_flow.rs:38:40 [INFO] [stderr] | [INFO] [stderr] 38 | -> map(|m| (m, out_addr)) -> { dest_sink_serde(out) => match dest_sink_serde(out) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/shopping/flows/rep_server_flow.rs:37:49 [INFO] [stderr] | [INFO] [stderr] 37 | -> map(|pair| (pair, remote_addr)) -> { dest_sink_serde(reqs_out) => match dest_sink_serde(reqs_out) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/shopping/flows/server_state_flow.rs:38:49 [INFO] [stderr] | [INFO] [stderr] 38 | -> map(|pair| (pair, remote_addr)) -> { dest_sink_serde(reqs_out) => match dest_sink_serde(reqs_out) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/shopping/flows/ssiv_flow.rs:37:40 [INFO] [stderr] | [INFO] [stderr] 37 | -> map(|m| (m, out_addr)) -> { dest_sink_serde(out) => match dest_sink_serde(out) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ClientClass` [INFO] [stderr] --> examples/shopping/flows/rep_server_flow.rs:12:22 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::structs::{ClientClass, Request}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 7 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/bp_flow.rs:37:40 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/bp_flow.rs:37:59 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/bp_flow.rs:37:40 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/bp_flow.rs:37:59 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> match { dest_sink_serde(out) => dest_sink_serde(out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/client_state_flow.rs:44:40 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/client_state_flow.rs:44:59 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/client_state_flow.rs:38:49 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(carts_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/client_state_flow.rs:38:74 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(carts_out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/client_state_flow.rs:44:40 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/client_state_flow.rs:44:59 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> match { dest_sink_serde(out) => dest_sink_serde(out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/client_state_flow.rs:38:49 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(carts_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/client_state_flow.rs:38:74 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(carts_out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> match { dest_sink_serde(carts_out) => dest_sink_serde(carts_out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/orig_flow.rs:31:40 [INFO] [stdout] | [INFO] [stdout] 31 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/orig_flow.rs:31:59 [INFO] [stdout] | [INFO] [stdout] 31 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/orig_flow.rs:31:40 [INFO] [stdout] | [INFO] [stdout] 31 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/orig_flow.rs:31:59 [INFO] [stdout] | [INFO] [stdout] 31 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 | -> map(|m| (m, out_addr)) -> match { dest_sink_serde(out) => dest_sink_serde(out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/push_group_flow.rs:38:40 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/push_group_flow.rs:38:59 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/push_group_flow.rs:38:40 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/push_group_flow.rs:38:59 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|m| (m, out_addr)) -> match { dest_sink_serde(out) => dest_sink_serde(out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:37:49 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(reqs_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:37:73 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(reqs_out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:50:48 [INFO] [stdout] | [INFO] [stdout] 50 | broadcast = cross_join::<'static>() -> dest_sink_serde(broadcast_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:50:77 [INFO] [stdout] | [INFO] [stdout] 50 | broadcast = cross_join::<'static>() -> dest_sink_serde(broadcast_out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:58:40 [INFO] [stdout] | [INFO] [stdout] 58 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:58:59 [INFO] [stdout] | [INFO] [stdout] 58 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:37:49 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(reqs_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:37:73 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(reqs_out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|pair| (pair, remote_addr)) -> match { dest_sink_serde(reqs_out) => dest_sink_serde(reqs_out) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:50:48 [INFO] [stdout] | [INFO] [stdout] 50 | broadcast = cross_join::<'static>() -> dest_sink_serde(broadcast_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:50:77 [INFO] [stdout] | [INFO] [stdout] 50 | broadcast = cross_join::<'static>() -> dest_sink_serde(broadcast_out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 50 | broadcast = cross_join::<'static>() -> match { dest_sink_serde(broadcast_out) => dest_sink_serde(broadcast_out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:58:40 [INFO] [stdout] | [INFO] [stdout] 58 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/rep_server_flow.rs:58:59 [INFO] [stdout] | [INFO] [stdout] 58 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 58 | -> map(|m| (m, out_addr)) -> match { dest_sink_serde(out) => dest_sink_serde(out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/server_state_flow.rs:38:49 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(reqs_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/server_state_flow.rs:38:73 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(reqs_out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/server_state_flow.rs:44:40 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/server_state_flow.rs:44:59 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/server_state_flow.rs:38:49 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(reqs_out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/server_state_flow.rs:38:73 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> dest_sink_serde(reqs_out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 | -> map(|pair| (pair, remote_addr)) -> match { dest_sink_serde(reqs_out) => dest_sink_serde(reqs_out) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/server_state_flow.rs:44:40 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/server_state_flow.rs:44:59 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 | -> map(|m| (m, out_addr)) -> match { dest_sink_serde(out) => dest_sink_serde(out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/ssiv_flow.rs:37:40 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/ssiv_flow.rs:37:59 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/shopping/flows/ssiv_flow.rs:37:40 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/shopping/flows/ssiv_flow.rs:37:59 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> dest_sink_serde(out); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 37 | -> map(|m| (m, out_addr)) -> match { dest_sink_serde(out) => dest_sink_serde(out) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/echo_serde_json/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_surface_flows_2_varname.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `echo_serde_json` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/echo_serde_json/client.rs [INFO] [stderr] * examples/echo_serde_json/server.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/echo_serde_json/client.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | -> { dest_sink(outbound) => match dest_sink(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/echo_serde_json/server.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | -> { dest_sink(outbound) => match dest_sink(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> examples/echo_serde_json/client.rs:3:5 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/echo_serde_json/client.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | -> dest_sink(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/echo_serde_json/client.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | -> dest_sink(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 3 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `deserialize_json` and `serialize_json` [INFO] [stderr] --> examples/echo_serde_json/client.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::helpers::{deserialize_json, serialize_json}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::EchoMsg` [INFO] [stderr] --> examples/echo_serde_json/client.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::protocol::EchoMsg; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/echo_serde_json/server.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> examples/echo_serde_json/server.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `deserialize_json` and `serialize_json` [INFO] [stderr] --> examples/echo_serde_json/server.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::helpers::{deserialize_json, serialize_json}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::EchoMsg` [INFO] [stderr] --> examples/echo_serde_json/server.rs:9:5 [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/echo_serde_json/client.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | -> dest_sink(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/echo_serde_json/client.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | -> dest_sink(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 22 | -> match { dest_sink(outbound) => dest_sink(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 9 | use crate::protocol::EchoMsg; [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/echo_serde_json/server.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | -> dest_sink(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/echo_serde_json/server.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | -> dest_sink(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/echo_serde_json/server.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | -> dest_sink(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/echo_serde_json/server.rs:22:34 [INFO] [stdout] | [INFO] [stdout] 22 | -> dest_sink(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 22 | -> match { dest_sink(outbound) => dest_sink(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/kvs_bench/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_bench/buffer_pool/serialization.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some(e) = seq.next_element()? { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_bench/buffer_pool/serialization.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed examples/kvs_bench/buffer_pool/mod.rs (1 fix) [INFO] [stderr] Migrating examples/vector_clock/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_bench/server.rs:68:35 [INFO] [stdout] | [INFO] [stdout] 68 | ... while let Some((node_id, req)) = joined_streams.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_bench/server.rs:75:29 [INFO] [stdout] | [INFO] [stdout] 75 | ... } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_bench/server.rs:89:31 [INFO] [stdout] | [INFO] [stdout] 89 | while let Some((serialized_req, node_id)) = transducer_to_peers_rx.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_bench/server.rs:92:25 [INFO] [stdout] | [INFO] [stdout] 92 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/kvs/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `vector_clock` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/vector_clock/client.rs [INFO] [stderr] * examples/vector_clock/server.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/vector_clock/client.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/vector_clock/server.rs:39:16 [INFO] [stderr] | [INFO] [stderr] 39 | -> { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> examples/vector_clock/client.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `lattices::map_union::MapUnionSingletonMap` [INFO] [stderr] --> examples/vector_clock/client.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use lattices::map_union::MapUnionSingletonMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Max` and `Merge` [INFO] [stderr] --> examples/vector_clock/client.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | use lattices::{Max, Merge}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `EchoMsg` and `VecClock` [INFO] [stderr] --> examples/vector_clock/client.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::protocol::{EchoMsg, VecClock}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/vector_clock/server.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> examples/vector_clock/server.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `lattices::map_union::MapUnionSingletonMap` [INFO] [stderr] --> examples/vector_clock/server.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use lattices::map_union::MapUnionSingletonMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Max` and `Merge` [INFO] [stderr] --> examples/vector_clock/server.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use lattices::{Max, Merge}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `EchoMsg` and `VecClock` [INFO] [stderr] --> examples/vector_clock/server.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::protocol::{EchoMsg, VecClock}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 9 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/vector_clock/client.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/vector_clock/client.rs:27:37 [INFO] [stdout] | [INFO] [stdout] 27 | dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/vector_clock/client.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/vector_clock/client.rs:27:37 [INFO] [stdout] | [INFO] [stdout] 27 | dest_sink_serde(outbound); [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 { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/vector_clock/server.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/vector_clock/server.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/vector_clock/server.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/vector_clock/server.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 | -> match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/datalog_compile_fail.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `kvs` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/kvs/client.rs [INFO] [stderr] * examples/kvs/server.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/kvs/client.rs:20:25 [INFO] [stderr] | [INFO] [stderr] 20 | outbound_chan = { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/kvs/server.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | network_send = { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::helpers::parse_command` [INFO] [stderr] --> examples/kvs/client.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::helpers::parse_command; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::KvsResponse` [INFO] [stderr] --> examples/kvs/client.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::protocol::KvsResponse; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `KvsMessageWithAddr` and `KvsResponse` [INFO] [stderr] --> examples/kvs/server.rs:5:23 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::protocol::{KvsMessageWithAddr, KvsResponse}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 3 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs/client.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs/client.rs:20:49 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs/client.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs/client.rs:20:49 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs/server.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs/server.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs/server.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs/server.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/modules_triple_cross_join/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/modules_outer_join/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/lamport_clock/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/three_clique/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/lamport_clock/client.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/lamport_clock/client.rs:22:37 [INFO] [stdout] | [INFO] [stdout] 22 | dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `lamport_clock` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/lamport_clock/client.rs [INFO] [stderr] * examples/lamport_clock/server.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/lamport_clock/client.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/lamport_clock/server.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | -> { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/lamport_clock/client.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> examples/lamport_clock/client.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Merge` [INFO] [stderr] --> examples/lamport_clock/client.rs:5:32 [INFO] [stderr] | [INFO] [stderr] 5 | use hydroflow::lattices::{Max, Merge}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::EchoMsg` [INFO] [stderr] --> examples/lamport_clock/client.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::protocol::EchoMsg; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/lamport_clock/server.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> examples/lamport_clock/server.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Merge` [INFO] [stderr] --> examples/lamport_clock/server.rs:5:32 [INFO] [stderr] | [INFO] [stderr] 5 | use hydroflow::lattices::{Max, Merge}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::EchoMsg` [INFO] [stderr] --> examples/lamport_clock/server.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::protocol::EchoMsg; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 8 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/lamport_clock/client.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/lamport_clock/client.rs:22:37 [INFO] [stdout] | [INFO] [stdout] 22 | dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 22 | match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/lamport_clock/server.rs:41:16 [INFO] [stdout] | [INFO] [stdout] 41 | -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/lamport_clock/server.rs:41:40 [INFO] [stdout] | [INFO] [stdout] 41 | -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/lamport_clock/server.rs:41:16 [INFO] [stdout] | [INFO] [stdout] 41 | -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/lamport_clock/server.rs:41:40 [INFO] [stdout] | [INFO] [stdout] 41 | -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 41 | -> match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/groupby.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_book.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/datalog_frontend.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_lattice_bimorphism.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_lattice_bimorphism_persist_insertion.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `surface_lattice_bimorphism` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/surface_lattice_bimorphism.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: this file contains an unclosed delimiter [INFO] [stderr] --> tests/surface_lattice_bimorphism.rs:136:3 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn test_cartesian_product() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn test_join() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 86 | pub fn test_cartesian_product_tick_state() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 102 | my_join = { lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) => match _ => [INFO] [stderr] | - this delimiter might not be properly closed... [INFO] [stderr] ... [INFO] [stderr] 106 | }; [INFO] [stderr] | - ...as it matches this but it has different indentation [INFO] [stderr] ... [INFO] [stderr] 136 | } [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism.rs:24:101 [INFO] [stdout] | [INFO] [stdout] 24 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [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] 24 | my_join = match { lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) => _ => } [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | ... = lattice_bimorphism(KeyedBimorphism::, _>::new(CartesianProductBimorphism::>::default()), #lhs, #rhs) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism.rs:60:143 [INFO] [stdout] | [INFO] [stdout] 60 | ...w(CartesianProductBimorphism::>::default()), #lhs, #rhs) [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 | my_join = match { lattice_bimorphism(KeyedBimorphism::, _>::new(CartesianProductBimorphism::>::default()), #lhs, #rhs) => _ => } [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism.rs:102:19 [INFO] [stdout] | [INFO] [stdout] 102 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism.rs:102:101 [INFO] [stdout] | [INFO] [stdout] 102 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 | my_join = match { lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) => _ => } [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/echoserver/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism_persist_insertion.rs:61:19 [INFO] [stdout] | [INFO] [stdout] 61 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism_persist_insertion.rs:61:101 [INFO] [stdout] | [INFO] [stdout] 61 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [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] 61 | my_join = match { lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) => _ => } [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `surface_lattice_bimorphism_persist_insertion` [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism_persist_insertion.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 89 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism_persist_insertion.rs:89:101 [INFO] [stdout] | [INFO] [stdout] 89 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 89 | my_join = match { lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) => _ => } [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/surface_lattice_bimorphism_persist_insertion.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: this file contains an unclosed delimiter [INFO] [stderr] --> tests/surface_lattice_bimorphism_persist_insertion.rs:123:3 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn test_cartesian_product_multi_tick() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 71 | pub fn test_cartesian_product_multi_tick_tee() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 99 | pub fn test_cartesian_product_multi_tick_identity() { [INFO] [stderr] | - unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 116 | my_join = { lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) => match _ => [INFO] [stderr] | - this delimiter might not be properly closed... [INFO] [stderr] ... [INFO] [stderr] 119 | }; [INFO] [stderr] | - ...as it matches this but it has different indentation [INFO] [stderr] ... [INFO] [stderr] 123 | } [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism_persist_insertion.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_lattice_bimorphism_persist_insertion.rs:116:101 [INFO] [stdout] | [INFO] [stdout] 116 | my_join = lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 116 | my_join = match { lattice_bimorphism(CartesianProductBimorphism::>::default(), #lhs, #rhs) => _ => } [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/example_1_simplest.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/echoserver/client.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/echoserver/client.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `echoserver` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/echoserver/client.rs [INFO] [stderr] * examples/echoserver/server.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/echoserver/client.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/echoserver/server.rs:23:101 [INFO] [stderr] | [INFO] [stderr] 23 | ... -> map(|(EchoMsg {payload, ..}, addr)| (EchoMsg { payload, ts: Utc::now() }, addr) ) -> { dest_sink_serde(outbound) => match dest_s... [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/echoserver/client.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> examples/echoserver/client.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::EchoMsg` [INFO] [stderr] --> examples/echoserver/client.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::protocol::EchoMsg; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/echoserver/server.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> examples/echoserver/server.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::EchoMsg` [INFO] [stderr] --> examples/echoserver/server.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::protocol::EchoMsg; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 6 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/echoserver/client.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/echoserver/client.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 21 | match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/echoserver/server.rs:23:101 [INFO] [stdout] | [INFO] [stdout] 23 | -> map(|(EchoMsg {payload, ..}, addr)| (EchoMsg { payload, ts: Utc::now() }, addr) ) -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/echoserver/server.rs:23:125 [INFO] [stdout] | [INFO] [stdout] 23 | -> map(|(EchoMsg {payload, ..}, addr)| (EchoMsg { payload, ts: Utc::now() }, addr) ) -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/echoserver/server.rs:23:101 [INFO] [stdout] | [INFO] [stdout] 23 | -> map(|(EchoMsg {payload, ..}, addr)| (EchoMsg { payload, ts: Utc::now() }, addr) ) -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/echoserver/server.rs:23:125 [INFO] [stdout] | [INFO] [stdout] 23 | -> map(|(EchoMsg {payload, ..}, addr)| (EchoMsg { payload, ts: Utc::now() }, addr) ) -> dest_sink_serde(outbound); [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 | -> map(|(EchoMsg {payload, ..}, addr)| (EchoMsg { payload, ts: Utc::now() }, addr) ) -> match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/surface_compile_fail.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_fold_keyed.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_unique.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_2_simple_1.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_4_neighbors.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/scheduled_teeing_handoff.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_naturals.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_syntax_empty.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/rga/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_join.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_3_stream.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `surface_join` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/surface_join.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] --> tests/surface_join.rs:10:6 [INFO] [stderr] | [INFO] [stderr] 10 | ($results:expr_2021, $tick:expr_2021, &[]) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/surface_join.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | ($results:expr_2021, $tick:expr_2021, &[]) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/surface_join.rs:13:6 [INFO] [stderr] | [INFO] [stderr] 13 | ($results:expr_2021, $tick:expr_2021, $input:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/surface_join.rs:13:26 [INFO] [stderr] | [INFO] [stderr] 13 | ($results:expr_2021, $tick:expr_2021, $input:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/surface_join.rs:13:43 [INFO] [stderr] | [INFO] [stderr] 13 | ($results:expr_2021, $tick:expr_2021, $input: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 5 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/surface_join.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | ($results:expr, $tick: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] 10 | ($results:expr_2021, $tick:expr, &[]) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/surface_join.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | ($results:expr, $tick:expr, &[]) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 10 | ($results:expr, $tick:expr_2021, &[]) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/surface_join.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr, $input:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr_2021, $tick:expr, $input:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/surface_join.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr, $input:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr_2021, $input:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/surface_join.rs:13:40 [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr, $input:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr, $input:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/surface_persist.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/chat/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_2_simple_2.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `chat` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/chat/client.rs [INFO] [stderr] * examples/chat/randomized_gossiping_server.rs [INFO] [stderr] * examples/chat/server.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/chat/client.rs:39:36 [INFO] [stderr] | [INFO] [stderr] 39 | outbound_chan = union() -> { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/chat/randomized_gossiping_server.rs:95:33 [INFO] [stderr] | [INFO] [stderr] 95 | client_out = union() -> { dest_sink_serde(client_outbound) => match dest_sink_serde(client_outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/chat/server.rs:23:36 [INFO] [stderr] | [INFO] [stderr] 23 | outbound_chan = union() -> { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::Message` [INFO] [stderr] --> examples/chat/client.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::protocol::Message; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> examples/chat/randomized_gossiping_server.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> examples/chat/randomized_gossiping_server.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::seq::SliceRandom` [INFO] [stderr] --> examples/chat/randomized_gossiping_server.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use rand::seq::SliceRandom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::thread_rng` [INFO] [stderr] --> examples/chat/randomized_gossiping_server.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use rand::thread_rng; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MessageWithAddr` and `Message` [INFO] [stderr] --> examples/chat/randomized_gossiping_server.rs:13:23 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::protocol::{Message, MessageWithAddr}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MessageWithAddr` and `Message` [INFO] [stderr] --> examples/chat/server.rs:5:23 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::protocol::{Message, MessageWithAddr}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors; 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/chat/client.rs:39:36 [INFO] [stdout] | [INFO] [stdout] 39 | outbound_chan = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/chat/client.rs:39:60 [INFO] [stdout] | [INFO] [stdout] 39 | outbound_chan = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/chat/client.rs:39:36 [INFO] [stdout] | [INFO] [stdout] 39 | outbound_chan = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/chat/client.rs:39:60 [INFO] [stdout] | [INFO] [stdout] 39 | outbound_chan = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 | outbound_chan = union() -> match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/chat/randomized_gossiping_server.rs:95:33 [INFO] [stdout] | [INFO] [stdout] 95 | client_out = union() -> dest_sink_serde(client_outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/chat/randomized_gossiping_server.rs:95:64 [INFO] [stdout] | [INFO] [stdout] 95 | client_out = union() -> dest_sink_serde(client_outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/chat/randomized_gossiping_server.rs:118:22 [INFO] [stdout] | [INFO] [stdout] 118 | gossip_out = dest_sink_serde(gossip_outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/chat/randomized_gossiping_server.rs:118:53 [INFO] [stdout] | [INFO] [stdout] 118 | gossip_out = dest_sink_serde(gossip_outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/chat/randomized_gossiping_server.rs:95:33 [INFO] [stdout] | [INFO] [stdout] 95 | client_out = union() -> dest_sink_serde(client_outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/chat/randomized_gossiping_server.rs:95:64 [INFO] [stdout] | [INFO] [stdout] 95 | client_out = union() -> dest_sink_serde(client_outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 95 | client_out = union() -> match { dest_sink_serde(client_outbound) => dest_sink_serde(client_outbound) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/chat/randomized_gossiping_server.rs:118:22 [INFO] [stdout] | [INFO] [stdout] 118 | gossip_out = dest_sink_serde(gossip_outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/chat/randomized_gossiping_server.rs:118:53 [INFO] [stdout] | [INFO] [stdout] 118 | gossip_out = dest_sink_serde(gossip_outbound); [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 | gossip_out = match { dest_sink_serde(gossip_outbound) => dest_sink_serde(gossip_outbound) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/chat/server.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | outbound_chan = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/chat/server.rs:23:60 [INFO] [stdout] | [INFO] [stdout] 23 | outbound_chan = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/chat/server.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | outbound_chan = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/chat/server.rs:23:60 [INFO] [stdout] | [INFO] [stdout] 23 | outbound_chan = union() -> dest_sink_serde(outbound); [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 | outbound_chan = union() -> match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/example_5_reachability.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_lattice_reduce.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_stratum.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_state_scheduling.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/kvs_mut/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/datalog_minimal.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `kvs_mut` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/kvs_mut/client.rs [INFO] [stderr] * examples/kvs_mut/server.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/kvs_mut/client.rs:20:25 [INFO] [stderr] | [INFO] [stderr] 20 | outbound_chan = { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/kvs_mut/server.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | network_send = { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::helpers::parse_command` [INFO] [stderr] --> examples/kvs_mut/client.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::helpers::parse_command; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::KvsResponse` [INFO] [stderr] --> examples/kvs_mut/client.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::protocol::KvsResponse; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PersistenceKeyed` [INFO] [stderr] --> examples/kvs_mut/server.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use hydroflow::util::{PersistenceKeyed, UdpSink, UdpStream}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `KvsMessageWithAddr` and `KvsResponse` [INFO] [stderr] --> examples/kvs_mut/server.rs:5:23 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::protocol::{KvsMessageWithAddr, KvsResponse}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 4 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_mut/client.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_mut/client.rs:20:49 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_mut/client.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_mut/client.rs:20:49 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 20 | outbound_chan = match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_mut/server.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_mut/server.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_mut/server.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_mut/server.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 13 | network_send = match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/example_syntax_output.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_join_fused.rs from 2021 edition to 2024 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/surface_join_fused.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr, $input: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] 13 | ($results:expr_2021, $tick:expr, $input:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/surface_batch.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `surface_join_fused` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/surface_join_fused.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] --> tests/surface_join_fused.rs:13:6 [INFO] [stderr] | [INFO] [stderr] 13 | ($results:expr_2021, $tick:expr_2021, $input:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/surface_join_fused.rs:13:26 [INFO] [stderr] | [INFO] [stderr] 13 | ($results:expr_2021, $tick:expr_2021, $input:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/surface_join_fused.rs:13:43 [INFO] [stderr] | [INFO] [stderr] 13 | ($results:expr_2021, $tick:expr_2021, $input: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 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/surface_join_fused.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr, $input:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr_2021, $input:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/surface_join_fused.rs:13:40 [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr, $input:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 13 | ($results:expr, $tick:expr, $input:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/surface_codegen.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/kvs_replicated/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_context.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `kvs_replicated` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/kvs_replicated/client.rs [INFO] [stderr] * examples/kvs_replicated/server.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/kvs_replicated/client.rs:14:25 [INFO] [stderr] | [INFO] [stderr] 14 | outbound_chan = { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/kvs_replicated/server.rs:15:35 [INFO] [stderr] | [INFO] [stderr] 15 | network_send = union() -> { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::helpers::parse_command` [INFO] [stderr] --> examples/kvs_replicated/client.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::helpers::parse_command; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::protocol::KvsMessage` [INFO] [stderr] --> examples/kvs_replicated/client.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::protocol::KvsMessage; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `KvsMessageWithAddr` and `KvsMessage` [INFO] [stderr] --> examples/kvs_replicated/server.rs:5:23 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::protocol::{KvsMessage, KvsMessageWithAddr}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 3 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_replicated/client.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_replicated/client.rs:14:49 [INFO] [stdout] | [INFO] [stdout] 14 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_replicated/client.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_replicated/client.rs:14:49 [INFO] [stdout] | [INFO] [stdout] 14 | outbound_chan = dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 14 | outbound_chan = match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_replicated/server.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | network_send = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_replicated/server.rs:15:59 [INFO] [stdout] | [INFO] [stdout] 15 | network_send = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/kvs_replicated/server.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | network_send = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/kvs_replicated/server.rs:15:59 [INFO] [stdout] | [INFO] [stdout] 15 | network_send = union() -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 15 | network_send = union() -> match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/surface_examples.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_lattice_batch.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_async.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_lattice_join.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `surface_async` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/surface_async.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:41:24 [INFO] [stderr] | [INFO] [stderr] 41 | recv[0] -> { dest_sink(udp_send) => match dest_sink(udp_send) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:78:90 [INFO] [stderr] | [INFO] [stderr] 78 | ... source_iter([ "Hello", "World" ]) -> map(|s| (s.to_owned(), server_addr)) -> { dest_sink(send_udp) => match dest_sink(send_udp) _ =... [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:109:90 [INFO] [stderr] | [INFO] [stderr] 109 | ... source_iter([ "Raise", "Count" ]) -> map(|s| (s.to_owned(), server_addr)) -> { dest_sink(send_udp) => match dest_sink(send_udp) _ =... [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:152:23 [INFO] [stderr] | [INFO] [stderr] 152 | rev[0] -> { dest_sink(server_send) => match dest_sink(server_send) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:186:19 [INFO] [stderr] | [INFO] [stderr] 186 | ]) -> { dest_sink(client_send) => match dest_sink(client_send) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:217:38 [INFO] [stderr] | [INFO] [stderr] 217 | source_stream(lines_recv) -> { dest_sink(stdout_lines) => match dest_sink(stdout_lines) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:247:16 [INFO] [stderr] | [INFO] [stderr] 247 | -> { dest_sink(send) => match dest_sink(send) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:269:31 [INFO] [stderr] | [INFO] [stderr] 269 | source_iter(0..10) -> { dest_sink(send) => match dest_sink(send) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:303:15 [INFO] [stderr] | [INFO] [stderr] 303 | ]) -> { dest_sink(sink) => match dest_sink(sink) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:328:15 [INFO] [stderr] | [INFO] [stderr] 328 | ]) -> { dest_sink(sink) => match dest_sink(sink) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:481:16 [INFO] [stderr] | [INFO] [stderr] 481 | -> { dest_sink(tx) => match dest_sink(tx) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:487:16 [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:41:24 [INFO] [stdout] | [INFO] [stdout] 41 | recv[0] -> dest_sink(udp_send); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:41:42 [INFO] [stdout] | [INFO] [stdout] 41 | recv[0] -> dest_sink(udp_send); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 487 | -> { dest_sink(tx) => match dest_sink(tx) _ => {}}; [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:41:24 [INFO] [stdout] | [INFO] [stdout] 41 | recv[0] -> dest_sink(udp_send); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:41:42 [INFO] [stdout] | [INFO] [stdout] 41 | recv[0] -> dest_sink(udp_send); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 41 | recv[0] -> match { dest_sink(udp_send) => dest_sink(udp_send) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^ [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:78:90 [INFO] [stdout] | [INFO] [stdout] 78 | source_iter([ "Hello", "World" ]) -> map(|s| (s.to_owned(), server_addr)) -> dest_sink(send_udp); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:78:108 [INFO] [stdout] | [INFO] [stdout] 78 | source_iter([ "Hello", "World" ]) -> map(|s| (s.to_owned(), server_addr)) -> dest_sink(send_udp); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:78:90 [INFO] [stdout] | [INFO] [stdout] 78 | source_iter([ "Hello", "World" ]) -> map(|s| (s.to_owned(), server_addr)) -> dest_sink(send_udp); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:78:108 [INFO] [stdout] | [INFO] [stdout] 78 | source_iter([ "Hello", "World" ]) -> map(|s| (s.to_owned(), server_addr)) -> dest_sink(send_udp); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 78 | source_iter([ "Hello", "World" ]) -> map(|s| (s.to_owned(), server_addr)) -> match { dest_sink(send_udp) => dest_sink(send_udp) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:109:90 [INFO] [stdout] | [INFO] [stdout] 109 | source_iter([ "Raise", "Count" ]) -> map(|s| (s.to_owned(), server_addr)) -> dest_sink(send_udp); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:109:108 [INFO] [stdout] | [INFO] [stdout] 109 | source_iter([ "Raise", "Count" ]) -> map(|s| (s.to_owned(), server_addr)) -> dest_sink(send_udp); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> tests/surface_async.rs:515:16 [INFO] [stderr] | [INFO] [stderr] 515 | -> { dest_sink(tx) => match dest_sink(tx) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> tests/surface_async.rs:521:16 [INFO] [stderr] | [INFO] [stderr] 521 | -> { dest_sink(tx) => match dest_sink(tx) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bytes::Bytes` [INFO] [stderr] --> tests/surface_async.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use bytes::Bytes; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `bytes::Bytes` [INFO] [stderr] --> tests/surface_async.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | use bytes::Bytes; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 14 previous errors; 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:109:90 [INFO] [stdout] | [INFO] [stdout] 109 | source_iter([ "Raise", "Count" ]) -> map(|s| (s.to_owned(), server_addr)) -> dest_sink(send_udp); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:109:108 [INFO] [stdout] | [INFO] [stdout] 109 | source_iter([ "Raise", "Count" ]) -> map(|s| (s.to_owned(), server_addr)) -> dest_sink(send_udp); [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 | source_iter([ "Raise", "Count" ]) -> map(|s| (s.to_owned(), server_addr)) -> match { dest_sink(send_udp) => dest_sink(send_udp) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:152:23 [INFO] [stdout] | [INFO] [stdout] 152 | rev[0] -> dest_sink(server_send); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:152:44 [INFO] [stdout] | [INFO] [stdout] 152 | rev[0] -> dest_sink(server_send); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:152:23 [INFO] [stdout] | [INFO] [stdout] 152 | rev[0] -> dest_sink(server_send); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:152:44 [INFO] [stdout] | [INFO] [stdout] 152 | rev[0] -> dest_sink(server_send); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 | rev[0] -> match { dest_sink(server_send) => dest_sink(server_send) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | ]) -> dest_sink(client_send); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:186:40 [INFO] [stdout] | [INFO] [stdout] 186 | ]) -> dest_sink(client_send); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | ]) -> dest_sink(client_send); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:186:40 [INFO] [stdout] | [INFO] [stdout] 186 | ]) -> dest_sink(client_send); [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 | ]) -> match { dest_sink(client_send) => dest_sink(client_send) _ => {}}; [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:217:38 [INFO] [stdout] | [INFO] [stdout] 217 | source_stream(lines_recv) -> dest_sink(stdout_lines); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:217:60 [INFO] [stdout] | [INFO] [stdout] 217 | source_stream(lines_recv) -> dest_sink(stdout_lines); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:217:38 [INFO] [stdout] | [INFO] [stdout] 217 | source_stream(lines_recv) -> dest_sink(stdout_lines); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:217:60 [INFO] [stdout] | [INFO] [stdout] 217 | source_stream(lines_recv) -> dest_sink(stdout_lines); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 217 | source_stream(lines_recv) -> match { dest_sink(stdout_lines) => dest_sink(stdout_lines) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:247:16 [INFO] [stdout] | [INFO] [stdout] 247 | -> dest_sink(send); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:247:30 [INFO] [stdout] | [INFO] [stdout] 247 | -> dest_sink(send); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:247:16 [INFO] [stdout] | [INFO] [stdout] 247 | -> dest_sink(send); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:247:30 [INFO] [stdout] | [INFO] [stdout] 247 | -> dest_sink(send); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 247 | -> match { dest_sink(send) => dest_sink(send) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:269:31 [INFO] [stdout] | [INFO] [stdout] 269 | source_iter(0..10) -> dest_sink(send); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:269:45 [INFO] [stdout] | [INFO] [stdout] 269 | source_iter(0..10) -> dest_sink(send); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:269:31 [INFO] [stdout] | [INFO] [stdout] 269 | source_iter(0..10) -> dest_sink(send); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:269:45 [INFO] [stdout] | [INFO] [stdout] 269 | source_iter(0..10) -> dest_sink(send); [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 | source_iter(0..10) -> match { dest_sink(send) => dest_sink(send) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:303:15 [INFO] [stdout] | [INFO] [stdout] 303 | ]) -> dest_sink(sink); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:303:29 [INFO] [stdout] | [INFO] [stdout] 303 | ]) -> dest_sink(sink); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:303:15 [INFO] [stdout] | [INFO] [stdout] 303 | ]) -> dest_sink(sink); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:303:29 [INFO] [stdout] | [INFO] [stdout] 303 | ]) -> dest_sink(sink); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 303 | ]) -> match { dest_sink(sink) => dest_sink(sink) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:328:15 [INFO] [stdout] | [INFO] [stdout] 328 | ]) -> dest_sink(sink); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:328:29 [INFO] [stdout] | [INFO] [stdout] 328 | ]) -> dest_sink(sink); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:328:15 [INFO] [stdout] | [INFO] [stdout] 328 | ]) -> dest_sink(sink); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:328:29 [INFO] [stdout] | [INFO] [stdout] 328 | ]) -> dest_sink(sink); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 328 | ]) -> match { dest_sink(sink) => dest_sink(sink) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:481:16 [INFO] [stdout] | [INFO] [stdout] 481 | -> dest_sink(tx); [INFO] [stdout] | ^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:481:28 [INFO] [stdout] | [INFO] [stdout] 481 | -> dest_sink(tx); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:481:16 [INFO] [stdout] | [INFO] [stdout] 481 | -> dest_sink(tx); [INFO] [stdout] | ^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:481:28 [INFO] [stdout] | [INFO] [stdout] 481 | -> dest_sink(tx); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 481 | -> match { dest_sink(tx) => dest_sink(tx) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:487:16 [INFO] [stdout] | [INFO] [stdout] 487 | -> dest_sink(tx); [INFO] [stdout] | ^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:487:28 [INFO] [stdout] | [INFO] [stdout] 487 | -> dest_sink(tx); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:487:16 [INFO] [stdout] | [INFO] [stdout] 487 | -> dest_sink(tx); [INFO] [stdout] | ^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:487:28 [INFO] [stdout] | [INFO] [stdout] 487 | -> dest_sink(tx); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 487 | -> match { dest_sink(tx) => dest_sink(tx) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:515:16 [INFO] [stdout] | [INFO] [stdout] 515 | -> dest_sink(tx); [INFO] [stdout] | ^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:515:28 [INFO] [stdout] | [INFO] [stdout] 515 | -> dest_sink(tx); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:515:16 [INFO] [stdout] | [INFO] [stdout] 515 | -> dest_sink(tx); [INFO] [stdout] | ^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:515:28 [INFO] [stdout] | [INFO] [stdout] 515 | -> dest_sink(tx); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 515 | -> match { dest_sink(tx) => dest_sink(tx) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:521:16 [INFO] [stdout] | [INFO] [stdout] 521 | -> dest_sink(tx); [INFO] [stdout] | ^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:521:28 [INFO] [stdout] | [INFO] [stdout] 521 | -> dest_sink(tx); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:521:16 [INFO] [stdout] | [INFO] [stdout] 521 | -> dest_sink(tx); [INFO] [stdout] | ^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/surface_async.rs:521:28 [INFO] [stdout] | [INFO] [stdout] 521 | -> dest_sink(tx); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 521 | -> match { dest_sink(tx) => dest_sink(tx) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/surface_zip_unzip.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_syntax_input.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_difference.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/two_pc/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_syntax_hello_world.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `two_pc` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * examples/two_pc/coordinator.rs [INFO] [stderr] * examples/two_pc/subordinate.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: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/two_pc/coordinator.rs:32:29 [INFO] [stderr] | [INFO] [stderr] 32 | outbound_chan[0] -> { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: expected one of: square brackets, `mod`, identifier, parentheses [INFO] [stderr] --> examples/two_pc/subordinate.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | outbound_chan[0] -> { dest_sink_serde(outbound) => match dest_sink_serde(outbound) _ => {}}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/two_pc/coordinator.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::helpers::parse_out` [INFO] [stderr] --> examples/two_pc/coordinator.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::helpers::parse_out; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CoordMsg`, `MsgType`, and `SubordResponse` [INFO] [stderr] --> examples/two_pc/coordinator.rs:8:23 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::protocol::{CoordMsg, MsgType, SubordResponse}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Addresses` [INFO] [stderr] --> examples/two_pc/coordinator.rs:9:13 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::{Addresses, Opts}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> examples/two_pc/subordinate.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::helpers::decide` [INFO] [stderr] --> examples/two_pc/subordinate.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::helpers::decide; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CoordMsg`, `MsgType`, and `SubordResponse` [INFO] [stderr] --> examples/two_pc/subordinate.rs:8:23 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::protocol::{CoordMsg, MsgType, SubordResponse}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Addresses` [INFO] [stderr] --> examples/two_pc/subordinate.rs:9:13 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::{Addresses, Opts}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 8 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/two_pc/coordinator.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | outbound_chan[0] -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/two_pc/coordinator.rs:32:53 [INFO] [stdout] | [INFO] [stdout] 32 | outbound_chan[0] -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/two_pc/coordinator.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | outbound_chan[0] -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/two_pc/coordinator.rs:32:53 [INFO] [stdout] | [INFO] [stdout] 32 | outbound_chan[0] -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 32 | outbound_chan[0] -> match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/two_pc/subordinate.rs:26:29 [INFO] [stdout] | [INFO] [stdout] 26 | outbound_chan[0] -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/two_pc/subordinate.rs:26:53 [INFO] [stdout] | [INFO] [stdout] 26 | outbound_chan[0] -> dest_sink_serde(outbound); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/two_pc/subordinate.rs:26:29 [INFO] [stdout] | [INFO] [stdout] 26 | outbound_chan[0] -> dest_sink_serde(outbound); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/two_pc/subordinate.rs:26:53 [INFO] [stdout] | [INFO] [stdout] 26 | outbound_chan[0] -> dest_sink_serde(outbound); [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 | outbound_chan[0] -> match { dest_sink_serde(outbound) => dest_sink_serde(outbound) _ => {}}; [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/surface_python.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/hello_world/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/surface_scheduling.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_surface_flows_1_basic.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/example_surface_flows_3_ports.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.33s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking hydroflow v0.9.0 (/tmp/fixit) [INFO] [stdout] error[E0521]: borrowed data escapes outside of closure [INFO] [stdout] --> src/util/simulation.rs:397:34 [INFO] [stdout] | [INFO] [stdout] 395 | fleet.add_host(server.clone(), |ctx| { [INFO] [stdout] | --- `ctx` is a reference that is only valid in the closure body [INFO] [stdout] 396 | let network_input = ctx.new_inbox::(interface.clone()); [INFO] [stdout] 397 | let network_output = ctx.new_outbox::(interface.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ctx` escapes the closure body here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of closure [INFO] [stdout] --> src/util/simulation.rs:397:34 [INFO] [stdout] | [INFO] [stdout] 395 | fleet.add_host(server.clone(), |ctx| { [INFO] [stdout] | --- [INFO] [stdout] | | [INFO] [stdout] | `ctx` is a reference that is only valid in the closure body [INFO] [stdout] | has type `&mut TransducerBuilderContext<'2>` [INFO] [stdout] 396 | let network_input = ctx.new_inbox::(interface.clone()); [INFO] [stdout] 397 | let network_output = ctx.new_outbox::(interface.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ctx` escapes the closure body here [INFO] [stdout] | argument requires that `'2` must outlive `'static` [INFO] [stdout] | [INFO] [stdout] = note: requirement occurs because of a mutable reference to `TransducerBuilderContext<'_>` [INFO] [stdout] = note: mutable references are invariant over their type parameter [INFO] [stdout] = help: see for more information about variance [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of closure [INFO] [stdout] --> src/util/simulation.rs:413:31 [INFO] [stdout] | [INFO] [stdout] 412 | fleet.add_host(client.clone(), |ctx| { [INFO] [stdout] | --- `ctx` is a reference that is only valid in the closure body [INFO] [stdout] 413 | let network_out = ctx.new_outbox::(interface.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ctx` escapes the closure body here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of closure [INFO] [stdout] --> src/util/simulation.rs:413:31 [INFO] [stdout] | [INFO] [stdout] 412 | fleet.add_host(client.clone(), |ctx| { [INFO] [stdout] | --- [INFO] [stdout] | | [INFO] [stdout] | `ctx` is a reference that is only valid in the closure body [INFO] [stdout] | has type `&mut TransducerBuilderContext<'2>` [INFO] [stdout] 413 | let network_out = ctx.new_outbox::(interface.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ctx` escapes the closure body here [INFO] [stdout] | argument requires that `'2` must outlive `'static` [INFO] [stdout] | [INFO] [stdout] = note: requirement occurs because of a mutable reference to `TransducerBuilderContext<'_>` [INFO] [stdout] = note: mutable references are invariant over their type parameter [INFO] [stdout] = help: see for more information about variance [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*ctx` as mutable more than once at a time [INFO] [stdout] --> src/util/simulation.rs:414:30 [INFO] [stdout] | [INFO] [stdout] 413 | let network_out = ctx.new_outbox::(interface.clone()); [INFO] [stdout] | --- first mutable borrow occurs here [INFO] [stdout] 414 | let network_in = ctx.new_inbox::(interface.clone()); [INFO] [stdout] | ^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 417 | out = dest_sink(network_out); [INFO] [stdout] | ----------- first borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0499, E0521. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stderr] error: could not compile `hydroflow` (lib test) due to 6 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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" "6686518abfc2d89f519c9a65dff24dfe2c032ad7339b7225854389c405f03350", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6686518abfc2d89f519c9a65dff24dfe2c032ad7339b7225854389c405f03350", kill_on_drop: false }` [INFO] [stdout] 6686518abfc2d89f519c9a65dff24dfe2c032ad7339b7225854389c405f03350