[INFO] fetching crate easytier 1.2.3... [INFO] checking easytier-1.2.3 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate easytier 1.2.3 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate easytier 1.2.3 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 easytier 1.2.3 [INFO] finished tweaking crates.io crate easytier 1.2.3 [INFO] tweaked toml for crates.io crate easytier 1.2.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate crates.io crate easytier 1.2.3 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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] b8c577b8d430abf13fe691751469ede52b36793eb45e332ccc24df8151f13a36 [INFO] running `Command { std: "docker" "start" "-a" "b8c577b8d430abf13fe691751469ede52b36793eb45e332ccc24df8151f13a36", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b8c577b8d430abf13fe691751469ede52b36793eb45e332ccc24df8151f13a36", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8c577b8d430abf13fe691751469ede52b36793eb45e332ccc24df8151f13a36", kill_on_drop: false }` [INFO] [stdout] b8c577b8d430abf13fe691751469ede52b36793eb45e332ccc24df8151f13a36 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 2bcc6a00d47cd3ac602fa2e702ab335844a28a39e81d10a1644835990e5a0121 [INFO] running `Command { std: "docker" "start" "-a" "2bcc6a00d47cd3ac602fa2e702ab335844a28a39e81d10a1644835990e5a0121", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling serde v1.0.207 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling cc v1.1.12 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Checking indexmap v2.4.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling fastrand v2.1.0 [INFO] [stderr] Compiling serde_json v1.0.125 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling bstr v1.10.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking cpufeatures v0.2.13 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Compiling syn v2.0.74 [INFO] [stderr] Compiling crossbeam-deque v0.8.5 [INFO] [stderr] Compiling serde_yml v0.0.11 [INFO] [stderr] Compiling prettyplease v0.2.20 [INFO] [stderr] Checking no-std-net v0.6.0 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling axum-core v0.4.3 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling rustls v0.23.12 [INFO] [stderr] Compiling libyml v0.0.4 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Compiling tempfile v3.12.0 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking pnet_sys v0.35.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling mimalloc-rust-sys v1.7.9-source [INFO] [stderr] Compiling axum v0.7.5 [INFO] [stderr] Compiling heapless v0.7.17 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling normpath v1.3.0 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Checking unicode-ident v1.0.12 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Compiling base62 v2.0.2 [INFO] [stderr] Compiling heapless v0.8.0 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking terminal_size v0.3.0 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking globset v0.4.14 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking hash32 v0.2.1 [INFO] [stderr] Checking hash32 v0.3.1 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking ip_network v0.4.1 [INFO] [stderr] Checking ignore v0.4.22 [INFO] [stderr] Checking crc-catalog v2.4.0 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Compiling pnet v0.35.0 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking bytecount v0.6.8 [INFO] [stderr] Compiling smoltcp v0.11.0 [INFO] [stderr] Checking winnow v0.6.18 [INFO] [stderr] Compiling network-interface v2.0.0 [INFO] [stderr] Checking cty v0.2.2 [INFO] [stderr] Checking ip_network_table-deps-treebitmap v0.5.0 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking clap_builder v4.5.15 [INFO] [stderr] Checking papergrid v0.12.0 [INFO] [stderr] Checking ip_network_table v0.2.0 [INFO] [stderr] Checking globwalk v0.8.1 [INFO] [stderr] Checking yasna v0.5.2 [INFO] [stderr] Checking crc v3.2.1 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking nix v0.25.1 [INFO] [stderr] Checking webpki-roots v0.26.3 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Checking async-event v0.2.1 [INFO] [stderr] Checking diatomic-waker v0.1.0 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking managed v0.8.0 [INFO] [stderr] Checking embedded-io v0.4.0 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking cobs v0.2.3 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking atomic-shim v0.2.0 [INFO] [stderr] Checking tachyonix v0.3.0 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking nix v0.27.1 [INFO] [stderr] Checking humansize v2.1.3 [INFO] [stderr] Checking mimalloc-rust v0.2.1 [INFO] [stderr] Checking gethostname v0.5.0 [INFO] [stderr] Checking dashmap v6.0.1 [INFO] [stderr] Compiling rstest_macros v0.18.2 [INFO] [stderr] Checking wildmatch v2.3.4 [INFO] [stderr] Checking timedmap v1.0.1 [INFO] [stderr] Checking sys-locale v0.3.1 [INFO] [stderr] Checking atomicbox v0.4.0 [INFO] [stderr] Checking sdd v3.0.2 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Checking netlink-sys v0.8.6 [INFO] [stderr] Checking scc v2.1.14 [INFO] [stderr] Compiling rust-i18n v3.1.2 [INFO] [stderr] Checking rustls-webpki v0.102.6 [INFO] [stderr] Compiling serde_derive v1.0.207 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling prost-derive v0.13.1 [INFO] [stderr] Compiling async-trait v0.1.81 [INFO] [stderr] Compiling trackable_derive v1.0.0 [INFO] [stderr] Compiling pnet_macros v0.35.0 [INFO] [stderr] Checking trackable v1.3.0 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking trackable v0.2.24 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Checking tokio v1.39.2 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking bytecodec v0.4.15 [INFO] [stderr] Compiling tabled_derive v0.8.0 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Compiling tarpc-plugins v0.12.0 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling clap_derive v4.5.13 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Compiling uuid-macro-internal v1.10.0 [INFO] [stderr] Checking rcgen v0.11.3 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking netlink-packet-utils v0.5.2 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking netlink-packet-core v0.7.0 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Compiling auto_impl v1.2.0 [INFO] [stderr] Compiling prost v0.13.1 [INFO] [stderr] Checking stun_codec v0.3.5 [INFO] [stderr] Checking netlink-packet-generic v0.3.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling prost-types v0.13.1 [INFO] [stderr] Checking netlink-packet-route v0.17.1 [INFO] [stderr] Checking netlink-packet-wireguard v0.2.3 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking x25519-dalek v2.0.1 [INFO] [stderr] Checking tabled v0.16.0 [INFO] [stderr] Compiling serial_test_derive v3.1.1 [INFO] [stderr] Checking boringtun-easytier v0.6.1 [INFO] [stderr] Checking tracing-appender v0.2.3 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking opentelemetry v0.17.0 [INFO] [stderr] Compiling prost-build v0.13.1 [INFO] [stderr] Checking serial_test v3.1.1 [INFO] [stderr] Checking clap v4.5.15 [INFO] [stderr] Checking tracing-opentelemetry v0.17.4 [INFO] [stderr] Compiling tonic-build v0.12.1 [INFO] [stderr] Checking rstest v0.18.2 [INFO] [stderr] Compiling easytier v1.2.3 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking tokio-rustls v0.26.0 [INFO] [stderr] Checking tokio-socks v0.5.2 [INFO] [stderr] Checking serde_spanned v0.6.7 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking pnet_base v0.35.0 [INFO] [stderr] Checking triomphe v0.1.13 [INFO] [stderr] Checking ipnetwork v0.20.0 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking cidr v0.2.3 [INFO] [stderr] Checking defguard_wireguard_rs v0.4.2 [INFO] [stderr] Checking toml_edit v0.19.15 [INFO] [stderr] Checking toml_edit v0.22.20 [INFO] [stderr] Checking pnet_macros_support v0.35.0 [INFO] [stderr] Checking pnet_packet v0.35.0 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking h2 v0.4.5 [INFO] [stderr] Checking tun-easytier v1.1.1 [INFO] [stderr] Checking pnet_datalink v0.35.0 [INFO] [stderr] Checking tarpc v0.32.0 [INFO] [stderr] Fixed build.rs (1 fix) [INFO] [stderr] Checking tokio-websockets v0.8.3 [INFO] [stderr] Checking postcard v1.0.8 [INFO] [stderr] Checking toml v0.7.8 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking rust-i18n-support v3.1.2 [INFO] [stderr] Checking pnet_transport v0.35.0 [INFO] [stderr] Compiling rust-i18n-macro v3.1.2 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] Checking hyper-util v0.1.7 [INFO] [stderr] Checking hyper-timeout v0.5.1 [INFO] [stderr] Checking tonic v0.12.1 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `easytier` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/common/constants.rs [INFO] [stderr] * src/common/stun_codec_ext.rs [INFO] [stderr] * src/gateway/fast_socks5/mod.rs [INFO] [stderr] * src/gateway/fast_socks5/util/stream.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/gateway/fast_socks5/util/stream.rs:29:6 [INFO] [stderr] | [INFO] [stderr] 29 | ($stream: expr_2021, $array: 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/gateway/fast_socks5/util/stream.rs:29:26 [INFO] [stderr] | [INFO] [stderr] 29 | ($stream: expr_2021, $array: 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/common/constants.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | ($name:ident, $type:ty, $init: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/common/constants.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | ($name:ident, $val: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/common/stun_codec_ext.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | ($decoder:ty, $item:ident, $and_then: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/common/stun_codec_ext.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | ($encoder:ty, $item:ty, $map_from: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] warning: unexpected `cfg` condition value: `socks4` [INFO] [stderr] --> src/gateway/fast_socks5/mod.rs:190:11 [INFO] [stderr] | [INFO] [stderr] 190 | #[cfg(feature = "socks4")] [INFO] [stderr] | ^^^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: there is a expected value with a similar name: `"socks5"` [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `aes-gcm`, `default`, `full`, `mimalloc`, `mips`, `quic`, `smoltcp`, `socks5`, `tun`, `websocket`, and `wireguard` [INFO] [stderr] = help: consider adding `socks4` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connector/udp_hole_punch.rs:820:38 [INFO] [stdout] | [INFO] [stdout] 820 | let tid = rand::thread_rng().gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `socks4` [INFO] [stdout] --> src/gateway/fast_socks5/mod.rs:190:11 [INFO] [stdout] | [INFO] [stdout] 190 | #[cfg(feature = "socks4")] [INFO] [stdout] | ^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"socks5"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `aes-gcm`, `default`, `full`, `mimalloc`, `mips`, `quic`, `smoltcp`, `socks5`, `tun`, `websocket`, and `wireguard` [INFO] [stdout] = help: consider adding `socks4` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gateway/fast_socks5/util/stream.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | ($stream: expr, $array: 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] 29 | ($stream: expr_2021, $array: expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gateway/fast_socks5/util/stream.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | ($stream: expr, $array: 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] 29 | ($stream: expr, $array: 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/common/constants.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | ($name:ident, $type:ty, $init: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] 2 | ($name:ident, $type:ty, $init: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/common/constants.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | ($name:ident, $val: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] 17 | ($name:ident, $val: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/common/stun_codec_ext.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | ($decoder:ty, $item:ident, $and_then: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] 17 | ($decoder:ty, $item:ident, $and_then: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/common/stun_codec_ext.rs:48:39 [INFO] [stdout] | [INFO] [stdout] 48 | ($encoder:ty, $item:ty, $map_from: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] 48 | ($encoder:ty, $item:ty, $map_from:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:154:27 [INFO] [stdout] | [INFO] [stdout] 154 | while let Some(task_ret) = tasks.join_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/connector/direct.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | } 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] 212 ~ match ret { Err(e) => { [INFO] [stdout] 213 | if !matches!(e, Error::UrlInBlacklist) { [INFO] [stdout] ... [INFO] [stdout] 225 | return Err(e); [INFO] [stdout] 226 ~ } _ => { [INFO] [stdout] 227 | tracing::info!("try_connect_to_ip success, peer_id: {}", dst_peer_id); [INFO] [stdout] 228 | return Ok(()); [INFO] [stdout] 229 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:319:15 [INFO] [stdout] | [INFO] [stdout] 319 | while let Some(ret) = tasks.join_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/connector/direct.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:320:16 [INFO] [stdout] | [INFO] [stdout] 320 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 321 | tracing::error!("join direct connect task failed: {:?}", e); [INFO] [stdout] 322 | } else if let Ok(Ok(_)) = ret { [INFO] [stdout] | --- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | } else if let Ok(Ok(_)) = ret { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 320 ~ match ret { Err(e) => { [INFO] [stdout] 321 | tracing::error!("join direct connect task failed: {:?}", e); [INFO] [stdout] 322 ~ } _ => { match ret { Ok(Ok(_)) => { [INFO] [stdout] 323 | has_succ = true; [INFO] [stdout] 324 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/manual.rs:244:16 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(_) = data.connectors.remove(url) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/manual.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | } else if data.reconnecting.contains(url) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 244 ~ match data.connectors.remove(url) { Some(_) => { [INFO] [stdout] 245 | tracing::warn!("connector: {}, removed", url); [INFO] [stdout] 246 | continue; [INFO] [stdout] 247 ~ } _ => if data.reconnecting.contains(url) { [INFO] [stdout] 248 | tracing::warn!("connector: {}, reconnecting, remove later.", url); [INFO] [stdout] ... [INFO] [stdout] 252 | tracing::warn!("connector: {}, not found", url); [INFO] [stdout] 253 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:247:19 [INFO] [stdout] | [INFO] [stdout] 247 | while let Ok(conn) = 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/connector/udp_hole_punch.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:251:24 [INFO] [stdout] | [INFO] [stdout] 251 | if let Err(e) = peer_mgr.add_tunnel_as_server(conn).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/connector/udp_hole_punch.rs:256:21 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match peer_mgr.add_tunnel_as_server(conn).await { Err(e) => { [INFO] [stdout] 252 | tracing::error!( [INFO] [stdout] ... [INFO] [stdout] 255 | ); [INFO] [stdout] 256 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:810:16 [INFO] [stdout] | [INFO] [stdout] 810 | if let Ok(tunnel) = Self::try_connect_with_socket( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_________________________________| [INFO] [stdout] 811 | || Arc::new(UdpSocket::bind("0.0.0.0:0").await?), [INFO] [stdout] 812 | || remote_mapped_addr, [INFO] [stdout] 813 | || ) [INFO] [stdout] 814 | || .await [INFO] [stdout] | ||__________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |__________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:817:13 [INFO] [stdout] | [INFO] [stdout] 817 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 810 ~ match Self::try_connect_with_socket( [INFO] [stdout] 811 | Arc::new(UdpSocket::bind("0.0.0.0:0").await?), [INFO] [stdout] ... [INFO] [stdout] 814 | .await [INFO] [stdout] 815 ~ { Ok(tunnel) => { [INFO] [stdout] 816 | return Ok(tunnel); [INFO] [stdout] 817 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:884:19 [INFO] [stdout] | [INFO] [stdout] 884 | while let Some(socket) = udp_array.try_fetch_punched_socket(tid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | if let Ok(tunnel) = Self::try_connect_with_socket(socket, remote_mapped_addr).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/connector/udp_hole_punch.rs:888:17 [INFO] [stdout] | [INFO] [stdout] 888 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 885 ~ match Self::try_connect_with_socket(socket, remote_mapped_addr).await [INFO] [stdout] 886 ~ { Ok(tunnel) => { [INFO] [stdout] 887 | return Ok(tunnel); [INFO] [stdout] 888 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:961:20 [INFO] [stdout] | [INFO] [stdout] 961 | if let Some((_, task)) = punching_task.remove(&key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:972:17 [INFO] [stdout] | [INFO] [stdout] 972 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 961 ~ match punching_task.remove(&key) { Some((_, task)) => { [INFO] [stdout] 962 | task.abort(); [INFO] [stdout] ... [INFO] [stdout] 971 | } [INFO] [stdout] 972 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/icmp_proxy.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(_) = self.try_handle_peer_packet(&packet).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/gateway/icmp_proxy.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | } 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] 162 ~ match self.try_handle_peer_packet(&packet).await { Some(_) => { [INFO] [stdout] 163 | return None; [INFO] [stdout] 164 ~ } _ => { [INFO] [stdout] 165 | return Some(packet); [INFO] [stdout] 166 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/icmp_proxy.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | while let Some(msg) = receiver.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/gateway/icmp_proxy.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | if let Some(_) = self.try_handle_peer_packet(&mut packet).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/gateway/tcp_proxy.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | } 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] 201 ~ match self.try_handle_peer_packet(&mut packet).await { Some(_) => { [INFO] [stdout] 202 | if self [INFO] [stdout] ... [INFO] [stdout] 215 | return None; [INFO] [stdout] 216 ~ } _ => { [INFO] [stdout] 217 | Some(packet) [INFO] [stdout] 218 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:207:20 [INFO] [stdout] | [INFO] [stdout] 207 | if let Err(e) = smoltcp_stack_sender.try_send(packet) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | } [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 smoltcp_stack_sender.try_send(packet) { Err(e) => { [INFO] [stdout] 208 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 209 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:211:20 [INFO] [stdout] | [INFO] [stdout] 211 | if let Err(e) = self.peer_manager.get_nic_channel().send(packet).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/gateway/tcp_proxy.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] 211 ~ match self.peer_manager.get_nic_channel().send(packet).await { Err(e) => { [INFO] [stdout] 212 | tracing::error!("send to nic failed: {:?}", e); [INFO] [stdout] 213 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:249:24 [INFO] [stdout] | [INFO] [stdout] 249 | let entry = if let Some(entry) = self.addr_conn_map.get(&dst_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/gateway/tcp_proxy.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } 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] 249 ~ let entry = match self.addr_conn_map.get(&dst_addr) { Some(entry) => { [INFO] [stdout] 250 | entry [INFO] [stdout] 251 ~ } _ => { [INFO] [stdout] 252 | let Some(syn_entry) = self.syn_map.get(&dst_addr) else { [INFO] [stdout] ... [INFO] [stdout] 255 | syn_entry [INFO] [stdout] 256 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | while let Some(packet) = smoltcp_stack_receiver.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/gateway/tcp_proxy.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:381:24 [INFO] [stdout] | [INFO] [stdout] 381 | if let Err(e) = stack_sink.send(Ok(packet.payload().to_vec())).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/gateway/tcp_proxy.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 381 ~ match stack_sink.send(Ok(packet.payload().to_vec())).await { Err(e) => { [INFO] [stdout] 382 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 383 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:391:23 [INFO] [stdout] | [INFO] [stdout] 391 | while let Some(data) = stack_stream.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/gateway/tcp_proxy.rs:406:17 [INFO] [stdout] | [INFO] [stdout] 406 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:403:24 [INFO] [stdout] | [INFO] [stdout] 403 | if let Err(e) = peer_mgr.send_msg_ipv4(packet, dst).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/gateway/tcp_proxy.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 405 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 403 ~ match peer_mgr.send_msg_ipv4(packet, dst).await { Err(e) => { [INFO] [stdout] 404 | tracing::error!("send to peer failed in smoltcp sender: {:?}", e); [INFO] [stdout] 405 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:462:19 [INFO] [stdout] | [INFO] [stdout] 462 | while let Ok((tcp_stream, socket_addr)) = tcp_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/gateway/tcp_proxy.rs:491:13 [INFO] [stdout] | [INFO] [stdout] 491 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tokio_smoltcp/reactor.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 77 | while let (true, Some(Ok(p))) = ( [INFO] [stdout] | ___________________^ - [INFO] [stdout] | |_____________________________________________| [INFO] [stdout] 78 | || recv_buf.len() < max_burst_size, [INFO] [stdout] 79 | || async_iface.next().now_or_never().flatten(), [INFO] [stdout] 80 | || ) { [INFO] [stdout] | ||_____________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_____________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/tokio_smoltcp/reactor.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/udp_proxy.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | if let Some(_) = self.try_handle_packet(&packet).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/gateway/udp_proxy.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | } 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] 324 ~ match self.try_handle_packet(&packet).await { Some(_) => { [INFO] [stdout] 325 | return None; [INFO] [stdout] 326 ~ } _ => { [INFO] [stdout] 327 | return Some(packet); [INFO] [stdout] 328 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/udp_proxy.rs:386:19 [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(msg) = receiver.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/gateway/udp_proxy.rs:393:13 [INFO] [stdout] | [INFO] [stdout] 393 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:351:12 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(_auth) = self.config.auth.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:374:9 [INFO] [stdout] | [INFO] [stdout] 374 | } 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] 351 ~ match self.config.auth.as_ref() { Some(_auth) => { [INFO] [stdout] 352 | if client_methods.contains(&consts::SOCKS5_AUTH_METHOD_PASSWORD) { [INFO] [stdout] ... [INFO] [stdout] 373 | } [INFO] [stdout] 374 ~ } _ => { [INFO] [stdout] 375 | method_supported = consts::SOCKS5_AUTH_METHOD_NONE; [INFO] [stdout] 376 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:447:12 [INFO] [stdout] | [INFO] [stdout] 447 | if let Some(credentials) = auth.authenticate(credentials).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/gateway/fast_socks5/server.rs:459:9 [INFO] [stdout] | [INFO] [stdout] 459 | } 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] 447 ~ match auth.authenticate(credentials).await { Some(credentials) => { [INFO] [stdout] 448 | if auth_method == consts::SOCKS5_AUTH_METHOD_PASSWORD { [INFO] [stdout] ... [INFO] [stdout] 458 | return Ok(credentials); [INFO] [stdout] 459 ~ } _ => { [INFO] [stdout] 460 | self.inner [INFO] [stdout] ... [INFO] [stdout] 467 | ))); [INFO] [stdout] 468 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:140:19 [INFO] [stdout] | [INFO] [stdout] 140 | while let Some(packet) = smoltcp_stack_receiver.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/gateway/socks5.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:142:20 [INFO] [stdout] | [INFO] [stdout] 142 | if let Err(e) = stack_sink.send(Ok(packet.payload().to_vec())).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/gateway/socks5.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match stack_sink.send(Ok(packet.payload().to_vec())).await { Err(e) => { [INFO] [stdout] 143 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 144 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:151:19 [INFO] [stdout] | [INFO] [stdout] 151 | while let Some(data) = stack_stream.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/gateway/socks5.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | if let Err(e) = peer_manager.send_msg_ipv4(packet, dst).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/gateway/socks5.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 163 ~ match peer_manager.send_msg_ipv4(packet, dst).await { Err(e) => { [INFO] [stdout] 164 | tracing::error!("send to peer failed in smoltcp sender: {:?}", e); [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:247:20 [INFO] [stdout] | [INFO] [stdout] 247 | if let Some(entry) = self.2.lock().unwrap().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/gateway/socks5.rs:249:17 [INFO] [stdout] | [INFO] [stdout] 249 | } [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 self.2.lock().unwrap().take() { Some(entry) => { [INFO] [stdout] 248 | self.1.remove(&entry); [INFO] [stdout] 249 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:405:28 [INFO] [stdout] | [INFO] [stdout] 405 | if let Some(net) = net.lock().await.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:407:25 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 405 ~ match net.lock().await.as_ref() { Some(net) => { [INFO] [stdout] 406 | net.handle_tcp_stream(socket); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:223:19 [INFO] [stdout] | [INFO] [stdout] 223 | while let Some(packet) = packet_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/instance/instance.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:363:16 [INFO] [stdout] | [INFO] [stdout] 363 | if let Some(ipv4_addr) = self.global_ctx.get_ipv4() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 363 ~ match self.global_ctx.get_ipv4() { Some(ipv4_addr) => { [INFO] [stdout] 364 | let mut new_nic_ctx = NicCtx::new( [INFO] [stdout] ... [INFO] [stdout] 370 | Self::use_new_nic_ctx(self.nic_ctx.clone(), new_nic_ctx).await; [INFO] [stdout] 371 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:445:15 [INFO] [stdout] | [INFO] [stdout] 445 | while let Some(ret) = self.tasks.join_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/instance/instance.rs:448:9 [INFO] [stdout] | [INFO] [stdout] 448 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl VpnPortalRpc` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/instance/instance.rs:459:45 [INFO] [stdout] | [INFO] [stdout] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc { [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/instance/instance.rs:459:35 [INFO] [stdout] | [INFO] [stdout] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc { [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] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/listeners.rs:170:20 [INFO] [stdout] | [INFO] [stdout] 170 | if let Err(e) = &server_ret { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/listeners.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 170 ~ match &server_ret { Err(e) => { [INFO] [stdout] 171 | global_ctx.issue_event(GlobalCtxEvent::ConnectionError( [INFO] [stdout] ... [INFO] [stdout] 176 | tracing::error!(error = ?e, "handle conn error"); [INFO] [stdout] 177 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl IfConfiguerTrait` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:482:32 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait { [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/instance/virtual_nic.rs:482:22 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait { [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] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:524:12 [INFO] [stdout] | [INFO] [stdout] 524 | if let Some(ipv4) = Ipv4Packet::new(ret.payload()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | } 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] 524 ~ match Ipv4Packet::new(ret.payload()) { Some(ipv4) => { [INFO] [stdout] 525 | if ipv4.get_version() != 4 { [INFO] [stdout] ... [INFO] [stdout] 539 | } [INFO] [stdout] 540 ~ } _ => { [INFO] [stdout] 541 | tracing::warn!(?ret, "[USER_PACKET] not ipv4 packet"); [INFO] [stdout] 542 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:554:19 [INFO] [stdout] | [INFO] [stdout] 554 | while let Some(ret) = stream.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/instance/virtual_nic.rs:560:13 [INFO] [stdout] | [INFO] [stdout] 560 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:571:19 [INFO] [stdout] | [INFO] [stdout] 571 | while let Some(packet) = channel.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/instance/virtual_nic.rs:580:13 [INFO] [stdout] | [INFO] [stdout] 580 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | ... if let Some((_, conn)) = conns_copy.remove(&ret) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match conns_copy.remove(&ret) { Some((_, conn)) => { [INFO] [stdout] 71 | global_ctx_copy.issue_event(GlobalCtxEvent::PeerConnRemoved( [INFO] [stdout] 72 | conn.get_conn_info(), [INFO] [stdout] 73 | )); [INFO] [stdout] 74 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:254:23 [INFO] [stdout] | [INFO] [stdout] 254 | while let Some(ret) = stream.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/peers/peer_conn.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:272:28 [INFO] [stdout] | [INFO] [stdout] 272 | if let Err(e) = sink.send(zc_packet).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/peers/peer_conn.rs:274:25 [INFO] [stdout] | [INFO] [stdout] 274 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 272 ~ match sink.send(zc_packet).await { Err(e) => { [INFO] [stdout] 273 | tracing::error!(?e, "peer conn send req error"); [INFO] [stdout] 274 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:276:28 [INFO] [stdout] | [INFO] [stdout] 276 | if let Err(e) = ctrl_sender.send(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 276 ~ match ctrl_sender.send(zc_packet) { Err(e) => { [INFO] [stdout] 277 | tracing::error!(?e, "peer conn send ctrl resp error"); [INFO] [stdout] 278 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | while let Some(ret) = ping_res_receiver.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/peers/peer_conn_ping.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | if let Ok(lat) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ match ret { Ok(lat) => { [INFO] [stdout] 181 | latency_stats.record_latency(lat as u32); [INFO] [stdout] ... [INFO] [stdout] 184 | loss_rate_stats_20.record_latency(0); [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | loss_rate_stats_1.record_latency(1); [INFO] [stdout] 187 | loss_rate_stats_20.record_latency(1); [INFO] [stdout] 188 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(gateway_id) = peers [INFO] [stdout] | ____________^ [INFO] [stdout] 79 | | .get_gateway_peer_id(dst_peer_id, NextHopPolicy::LeastHop) [INFO] [stdout] 80 | | .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/peers/peer_manager.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } else if foreign_peers.has_next_hop(dst_peer_id) { [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 ~ match peers [INFO] [stdout] 79 | .get_gateway_peer_id(dst_peer_id, NextHopPolicy::LeastHop) [INFO] [stdout] 80 | .await [INFO] [stdout] 81 ~ { Some(gateway_id) => { [INFO] [stdout] 82 | tracing::trace!( [INFO] [stdout] ... [INFO] [stdout] 91 | peers.send_msg_directly(msg, gateway_id).await [INFO] [stdout] 92 ~ } _ => if foreign_peers.has_next_hop(dst_peer_id) { [INFO] [stdout] 93 | if !foreign_peers.is_peer_public_node(&dst_peer_id) { [INFO] [stdout] ... [INFO] [stdout] 109| )))) [INFO] [stdout] 110~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some(o) = self.packet_recv.lock().await.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/peers/peer_manager.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match self.packet_recv.lock().await.recv().await { Some(o) => { [INFO] [stdout] 115 | Ok(o) [INFO] [stdout] 116 ~ } _ => { [INFO] [stdout] 117 | Err(Error::Unknown) [INFO] [stdout] 118 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:337:19 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(mut ret) = 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/peers/peer_manager.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:569:12 [INFO] [stdout] | [INFO] [stdout] 569 | if let Some(gateway) = peers.get_gateway_peer_id(dst_peer_id, policy).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/peers/peer_manager.rs:571:9 [INFO] [stdout] | [INFO] [stdout] 571 | } else if foreign_network_client.has_next_hop(dst_peer_id) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 569 ~ match peers.get_gateway_peer_id(dst_peer_id, policy).await { Some(gateway) => { [INFO] [stdout] 570 | peers.send_msg_directly(msg, gateway).await [INFO] [stdout] 571 ~ } _ => if foreign_network_client.has_next_hop(dst_peer_id) { [INFO] [stdout] 572 | foreign_network_client.send_msg(msg, dst_peer_id).await [INFO] [stdout] 573 | } else { [INFO] [stdout] 574 | Err(Error::RouteError(None)) [INFO] [stdout] 575 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:596:19 [INFO] [stdout] | [INFO] [stdout] 596 | } else if let Some(peer_id) = self.peers.get_peer_id_by_ipv4(&ipv4_addr).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/peers/peer_manager.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | } 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] 596 ~ } else { match self.peers.get_peer_id_by_ipv4(&ipv4_addr).await { Some(peer_id) => { [INFO] [stdout] 597 | dst_peers.push(peer_id); [INFO] [stdout] 598 ~ } _ => { [INFO] [stdout] 599 | for exit_node in &self.exit_nodes { [INFO] [stdout] ... [INFO] [stdout] 605 | } [INFO] [stdout] 606 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:600:20 [INFO] [stdout] | [INFO] [stdout] 600 | if let Some(peer_id) = self.peers.get_peer_id_by_ipv4(exit_node).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/peers/peer_manager.rs:604:17 [INFO] [stdout] | [INFO] [stdout] 604 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 600 ~ match self.peers.get_peer_id_by_ipv4(exit_node).await { Some(peer_id) => { [INFO] [stdout] 601 | dst_peers.push(peer_id); [INFO] [stdout] 602 | is_exit_node = true; [INFO] [stdout] 603 | break; [INFO] [stdout] 604 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:647:16 [INFO] [stdout] | [INFO] [stdout] 647 | if let Some(gateway) = self [INFO] [stdout] | ________________^ [INFO] [stdout] 648 | | .peers [INFO] [stdout] 649 | | .get_gateway_peer_id(*peer_id, next_hop_policy.clone()) [INFO] [stdout] 650 | | .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/peers/peer_manager.rs:655:13 [INFO] [stdout] | [INFO] [stdout] 655 | } else if self.foreign_network_client.has_next_hop(*peer_id) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 647 ~ match self [INFO] [stdout] 648 | .peers [INFO] [stdout] 649 | .get_gateway_peer_id(*peer_id, next_hop_policy.clone()) [INFO] [stdout] 650 | .await [INFO] [stdout] 651 ~ { Some(gateway) => { [INFO] [stdout] 652 | if let Err(e) = self.peers.send_msg_directly(msg, gateway).await { [INFO] [stdout] 653 | errs.push(e); [INFO] [stdout] 654 | } [INFO] [stdout] 655 ~ } _ => if self.foreign_network_client.has_next_hop(*peer_id) { [INFO] [stdout] 656 | if let Err(e) = self.foreign_network_client.send_msg(msg, *peer_id).await { [INFO] [stdout] 657 | errs.push(e); [INFO] [stdout] 658 | } [INFO] [stdout] 659 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:652:20 [INFO] [stdout] | [INFO] [stdout] 652 | if let Err(e) = self.peers.send_msg_directly(msg, gateway).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/peers/peer_manager.rs:654:17 [INFO] [stdout] | [INFO] [stdout] 654 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 652 ~ match self.peers.send_msg_directly(msg, gateway).await { Err(e) => { [INFO] [stdout] 653 | errs.push(e); [INFO] [stdout] 654 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:656:20 [INFO] [stdout] | [INFO] [stdout] 656 | if let Err(e) = self.foreign_network_client.send_msg(msg, *peer_id).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/peers/peer_manager.rs:658:17 [INFO] [stdout] | [INFO] [stdout] 658 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 656 ~ match self.foreign_network_client.send_msg(msg, *peer_id).await { Err(e) => { [INFO] [stdout] 657 | errs.push(e); [INFO] [stdout] 658 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 112 | if let Some(gateway_peer_id) = route [INFO] [stdout] | ________________^ [INFO] [stdout] 113 | | .get_next_hop_with_policy(dst_peer_id, policy.clone()) [INFO] [stdout] 114 | | .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/peers/peer_map.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 ~ match route [INFO] [stdout] 113 | .get_next_hop_with_policy(dst_peer_id, policy.clone()) [INFO] [stdout] 114 | .await [INFO] [stdout] 115 ~ { Some(gateway_peer_id) => { [INFO] [stdout] 116 | // for foreign network, gateway_peer_id may not connect to me [INFO] [stdout] ... [INFO] [stdout] 119 | } [INFO] [stdout] 120 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(p) = self.get_peer_by_id(peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 181 ~ match self.get_peer_by_id(peer_id) { Some(p) => { [INFO] [stdout] 182 | Some(p.list_peer_conns().await) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | return None; [INFO] [stdout] 185 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | if let Some(p) = self.get_peer_by_id(peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } 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] 193 ~ match self.get_peer_by_id(peer_id) { Some(p) => { [INFO] [stdout] 194 | p.close_peer_conn(conn_id).await [INFO] [stdout] 195 ~ } _ => { [INFO] [stdout] 196 | return Err(Error::NotFound); [INFO] [stdout] 197 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:621:12 [INFO] [stdout] | [INFO] [stdout] 621 | if let Some(old) = self.task.lock().unwrap().replace(task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:623:9 [INFO] [stdout] | [INFO] [stdout] 623 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 621 ~ match self.task.lock().unwrap().replace(task) { Some(old) => { [INFO] [stdout] 622 | old.abort(); [INFO] [stdout] 623 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:627:12 [INFO] [stdout] | [INFO] [stdout] 627 | if let Some(task) = self.task.lock().unwrap().as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | } 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] 627 ~ match self.task.lock().unwrap().as_ref() { Some(task) => { [INFO] [stdout] 628 | !task.is_finished() [INFO] [stdout] 629 ~ } _ => { [INFO] [stdout] 630 | false [INFO] [stdout] 631 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:637:12 [INFO] [stdout] | [INFO] [stdout] 637 | if let Some(task) = self.task.lock().unwrap().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/peers/peer_ospf_route.rs:639:9 [INFO] [stdout] | [INFO] [stdout] 639 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 637 ~ match self.task.lock().unwrap().take() { Some(task) => { [INFO] [stdout] 638 | task.abort(); [INFO] [stdout] 639 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:998:16 [INFO] [stdout] | [INFO] [stdout] 998 | if let Ok(d) = now.duration_since(item.value().last_update) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1002:13 [INFO] [stdout] | [INFO] [stdout] 1002 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 998 ~ match now.duration_since(item.value().last_update) { Ok(d) => { [INFO] [stdout] 999 | if d > REMOVE_DEAD_PEER_INFO_AFTER { [INFO] [stdout] 1000 | to_remove.push(*item.key()); [INFO] [stdout] 1001 | } [INFO] [stdout] 1002 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1305:24 [INFO] [stdout] | [INFO] [stdout] 1305 | if let Some(session) = service_impl.get_session(cur_peer_id_to_initiate) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1307:21 [INFO] [stdout] | [INFO] [stdout] 1307 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1305 ~ match service_impl.get_session(cur_peer_id_to_initiate) { Some(session) => { [INFO] [stdout] 1306 | session.update_initiator_flag(false); [INFO] [stdout] 1307 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1321:20 [INFO] [stdout] | [INFO] [stdout] 1321 | if let Some(session) = service_impl.get_session(*peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1331:17 [INFO] [stdout] | [INFO] [stdout] 1331 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1321 ~ match service_impl.get_session(*peer_id) { Some(session) => { [INFO] [stdout] 1322 | if (session.dst_is_initiator.load(Ordering::Relaxed) [INFO] [stdout] ... [INFO] [stdout] 1330 | assert_ne!(Some(*peer_id), cur_dst_peer_id_to_initiate); [INFO] [stdout] 1331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | ... if let Err(e) = tspt.send(msg, peer_id).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/peers/peer_rpc.rs:239:33 [INFO] [stdout] | [INFO] [stdout] 239 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 236 ~ match tspt.send(msg, peer_id).await { Err(e) => { [INFO] [stdout] 237 | tracing::error!(error = ?e, peer_id = ?peer_id, service_id = ?service_id, "send resp to peer failed"); [INFO] [stdout] 238 | break; [INFO] [stdout] 239 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:271:32 [INFO] [stdout] | [INFO] [stdout] 271 | ... if let Err(e) = client_transport.send(decoded).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/peers/peer_rpc.rs:273:29 [INFO] [stdout] | [INFO] [stdout] 273 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 271 ~ match client_transport.send(decoded).await { Err(e) => { [INFO] [stdout] 272 | tracing::error!(error = ?e, "send to req to client transport failed"); [INFO] [stdout] 273 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:400:24 [INFO] [stdout] | [INFO] [stdout] 400 | if let Some(a) = client_resp_receivers.get(&PeerRpcClientCtxKey( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |______________________________________| [INFO] [stdout] 401 | || info.from_peer, [INFO] [stdout] 402 | || info.service_id, [INFO] [stdout] 403 | || info.transact_id, [INFO] [stdout] 404 | || )) { [INFO] [stdout] | ||______________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } 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] 400 ~ match client_resp_receivers.get(&PeerRpcClientCtxKey( [INFO] [stdout] 401 | info.from_peer, [INFO] [stdout] 402 | info.service_id, [INFO] [stdout] 403 | info.transact_id, [INFO] [stdout] 404 ~ )) { Some(a) => { [INFO] [stdout] 405 | tracing::trace!("recv resp: {:?}", info); [INFO] [stdout] ... [INFO] [stdout] 408 | } [INFO] [stdout] 409 ~ } _ => { [INFO] [stdout] 410 | tracing::warn!("client resp receiver not found, info: {:?}", info); [INFO] [stdout] 411 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:406:28 [INFO] [stdout] | [INFO] [stdout] 406 | if let Err(e) = a.send(o) { [INFO] [stdout] | ^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:408:25 [INFO] [stdout] | [INFO] [stdout] 408 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 406 ~ match a.send(o) { Err(e) => { [INFO] [stdout] 407 | tracing::error!(error = ?e, "send resp to client failed"); [INFO] [stdout] 408 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:464:19 [INFO] [stdout] | [INFO] [stdout] 464 | while let Some(a) = server_r.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/peers/peer_rpc.rs:493:13 [INFO] [stdout] | [INFO] [stdout] 493 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:488:24 [INFO] [stdout] | [INFO] [stdout] 488 | if let Err(e) = tspt.send(packet, dst_peer_id).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/peers/peer_rpc.rs:491:21 [INFO] [stdout] | [INFO] [stdout] 491 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 488 ~ match tspt.send(packet, dst_peer_id).await { Err(e) => { [INFO] [stdout] 489 | tracing::error!(error = ?e, dst_peer_id = ?dst_peer_id, "send to peer failed"); [INFO] [stdout] 490 | break; [INFO] [stdout] 491 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:500:19 [INFO] [stdout] | [INFO] [stdout] 500 | while let Some(packet) = packet_receiver.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/peers/peer_rpc.rs:527:13 [INFO] [stdout] | [INFO] [stdout] 527 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:524:20 [INFO] [stdout] | [INFO] [stdout] 524 | if let Err(e) = server_s.send(decoded.unwrap()).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/peers/peer_rpc.rs:526:17 [INFO] [stdout] | [INFO] [stdout] 526 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 524 ~ match server_s.send(decoded.unwrap()).await { Err(e) => { [INFO] [stdout] 525 | tracing::error!(error = ?e, "send to rpc server channel failed"); [INFO] [stdout] 526 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_client.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(join_ret) = tasks.join_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/peers/foreign_network_client.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(o) = self.packet_recv.lock().await.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/peers/foreign_network_manager.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 124 ~ match self.packet_recv.lock().await.recv().await { Some(o) => { [INFO] [stdout] 125 | Ok(o) [INFO] [stdout] 126 ~ } _ => { [INFO] [stdout] 127 | Err(Error::Unknown) [INFO] [stdout] 128 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:265:19 [INFO] [stdout] | [INFO] [stdout] 265 | while let Ok(e) = s.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/peers/foreign_network_manager.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:272:19 [INFO] [stdout] | [INFO] [stdout] 272 | while let Some(e) = ev_rx.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/peers/foreign_network_manager.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:292:19 [INFO] [stdout] | [INFO] [stdout] 292 | while let Some(packet_bytes) = 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/peers/foreign_network_manager.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:304:24 [INFO] [stdout] | [INFO] [stdout] 304 | if let Err(e) = sender_to_mgr.send(packet_bytes).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/peers/foreign_network_manager.rs:306:21 [INFO] [stdout] | [INFO] [stdout] 306 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 304 ~ match sender_to_mgr.send(packet_bytes).await { Err(e) => { [INFO] [stdout] 305 | tracing::error!("send packet to mgr failed: {:?}", e); [INFO] [stdout] 306 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:318:24 [INFO] [stdout] | [INFO] [stdout] 318 | if let Some(entry) = data.get_network_entry(&from_network) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | } 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] 318 ~ match data.get_network_entry(&from_network) { Some(entry) => { [INFO] [stdout] 319 | if !entry.relay_data && hdr.packet_type == PacketType::Data as u8 { [INFO] [stdout] ... [INFO] [stdout] 329 | } [INFO] [stdout] 330 ~ } _ => { [INFO] [stdout] 331 | tracing::error!("foreign network not found: {}", from_network); [INFO] [stdout] 332 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vpn_portal/wireguard.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | while let Some(Ok(msg)) = stream.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/vpn_portal/wireguard.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vpn_portal/wireguard.rs:196:19 [INFO] [stdout] | [INFO] [stdout] 196 | while let Ok(t) = l.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/vpn_portal/wireguard.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/config.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 352 | if let Some(proxy_cidrs) = &mut locked_config.proxy_network { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/config.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 352 ~ match &mut locked_config.proxy_network { Some(proxy_cidrs) => { [INFO] [stdout] 353 | let cidr_str = cidr.to_string(); [INFO] [stdout] 354 | proxy_cidrs.retain(|c| c.cidr != cidr_str); [INFO] [stdout] 355 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/config.rs:558:12 [INFO] [stdout] | [INFO] [stdout] 558 | if let Err(e) = &ret { [INFO] [stdout] | ^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/config.rs:560:9 [INFO] [stdout] | [INFO] [stdout] 560 | } 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] 558 ~ match &ret { Err(e) => { [INFO] [stdout] 559 | println!("{}", e); [INFO] [stdout] 560 ~ } _ => { [INFO] [stdout] 561 | println!("{:?}", ret.as_ref().unwrap()); [INFO] [stdout] 562 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:337:15 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(_) = self.task_set.join_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/common/stun.rs:337:62 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(_) = self.task_set.join_next().await {} [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:507:15 [INFO] [stdout] | [INFO] [stdout] 507 | while let Some(addr) = host_resolver.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/common/stun.rs:509:9 [INFO] [stdout] | [INFO] [stdout] 509 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:533:15 [INFO] [stdout] | [INFO] [stdout] 533 | while let Some(resp) = stun_task_set.join_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/common/stun.rs:537:9 [INFO] [stdout] | [INFO] [stdout] 537 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:534:16 [INFO] [stdout] | [INFO] [stdout] 534 | if let Ok(Ok(resp)) = resp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/stun.rs:536:13 [INFO] [stdout] | [INFO] [stdout] 536 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 534 ~ match resp { Ok(Ok(resp)) => { [INFO] [stdout] 535 | bind_resps.push(resp); [INFO] [stdout] 536 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:695:24 [INFO] [stdout] | [INFO] [stdout] 695 | if let Ok(resp) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/stun.rs:699:21 [INFO] [stdout] | [INFO] [stdout] 699 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 695 ~ match ret { Ok(resp) => { [INFO] [stdout] 696 | udp_nat_test_result.write().unwrap().as_mut().map(|x| { [INFO] [stdout] 697 | x.extend_result(resp); [INFO] [stdout] 698 | }); [INFO] [stdout] 699 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/launcher.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | while let Ok(event) = receiver.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/launcher.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/launcher.rs:254:12 [INFO] [stdout] | [INFO] [stdout] 254 | if let Some(handle) = self.thread_handle.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/launcher.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 254 ~ match self.thread_handle.take() { Some(handle) => { [INFO] [stdout] 255 | if let Err(e) = handle.join() { [INFO] [stdout] 256 | println!("Error when joining thread: {:?}", e); [INFO] [stdout] 257 | } [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/launcher.rs:255:16 [INFO] [stdout] | [INFO] [stdout] 255 | if let Err(e) = handle.join() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/launcher.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 255 ~ match handle.join() { Err(e) => { [INFO] [stdout] 256 | println!("Error when joining thread: {:?}", e); [INFO] [stdout] 257 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/launcher.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(launcher) = self.launcher.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/launcher.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 317 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 315 ~ match self.launcher.as_ref() { Some(launcher) => { [INFO] [stdout] 316 | launcher.data.tun_fd.write().unwrap().replace(tun_fd); [INFO] [stdout] 317 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:150:19 [INFO] [stdout] | [INFO] [stdout] 150 | while let Some(packet) = [INFO] [stdout] | ___________________^ [INFO] [stdout] 151 | | Self::extract_one_packet(self_mut.buf, *self_mut.max_packet_size) [INFO] [stdout] | |_________________----------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:401:11 [INFO] [stdout] | [INFO] [stdout] 401 | while let Some(ret) = futures.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/tunnel/common.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 404 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match ret { Err(e) => { [INFO] [stdout] 403 | last_err = Some(e.into()); [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | return ret.map_err(|e| e.into()); [INFO] [stdout] 406 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:444:19 [INFO] [stdout] | [INFO] [stdout] 444 | while let Some(item) = 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/tunnel/common.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:448:20 [INFO] [stdout] | [INFO] [stdout] 448 | if let Err(_) = send.send(msg).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/tunnel/common.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 448 ~ match send.send(msg).await { Err(_) => { [INFO] [stdout] 449 | break; [INFO] [stdout] 450 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl tunnel::ZCPacketSink` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/tunnel/filter.rs:100:72 [INFO] [stdout] | [INFO] [stdout] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink { [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/tunnel/filter.rs:100:53 [INFO] [stdout] | [INFO] [stdout] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink { [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] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink + use { [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl tunnel::ZCPacketStream` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/tunnel/filter.rs:151:78 [INFO] [stdout] | [INFO] [stdout] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream { [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/tunnel/filter.rs:151:57 [INFO] [stdout] | [INFO] [stdout] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream { [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] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream + use { [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | if let Err(e) = Self::forward_one_round(&mut rx, &mut sink).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/tunnel/mpsc.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match Self::forward_one_round(&mut rx, &mut sink).await { Err(e) => { [INFO] [stdout] 41 | tracing::error!(?e, "forward error"); [INFO] [stdout] 42 | break; [INFO] [stdout] 43 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | while let Ok(item) = rx.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/tunnel/mpsc.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | if let Err(e) = sink.feed(item).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/tunnel/mpsc.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match sink.feed(item).await { Err(e) => { [INFO] [stdout] 65 | tracing::error!(?e, "feed error"); [INFO] [stdout] 66 | break; [INFO] [stdout] 67 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:112:19 [INFO] [stdout] | [INFO] [stdout] 112 | while let Some(Ok(msg)) = stream.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/tunnel/mpsc.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if let Some(w) = self.wait_for_new_item.take(Ordering::AcqRel) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 65 ~ match self.wait_for_new_item.take(Ordering::AcqRel) { Some(w) => { [INFO] [stdout] 66 | tracing::trace!(?self.id, "notify new item"); [INFO] [stdout] 67 | w.wake(); [INFO] [stdout] 68 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | if let Some(w) = self.wait_for_empty_slot.take(Ordering::AcqRel) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 72 ~ match self.wait_for_empty_slot.take(Ordering::AcqRel) { Some(w) => { [INFO] [stdout] 73 | tracing::trace!(?self.id, "notify empty slot"); [INFO] [stdout] 74 | w.wake(); [INFO] [stdout] 75 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:209:16 [INFO] [stdout] | [INFO] [stdout] 209 | if let Err(e) = close_event_sender.send((dst_addr, err)) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 209 ~ match close_event_sender.send((dst_addr, err)) { Err(e) => { [INFO] [stdout] 210 | tracing::error!(?e, "udp send close event error"); [INFO] [stdout] 211 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:327:12 [INFO] [stdout] | [INFO] [stdout] 327 | if let Err(e) = self.conn_send.send(conn).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/tunnel/udp.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 327 ~ match self.conn_send.send(conn).await { Err(e) => { [INFO] [stdout] 328 | tracing::warn!(?e, "udp send conn to accept channel error"); [INFO] [stdout] 329 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:341:16 [INFO] [stdout] | [INFO] [stdout] 341 | if let Err(e) = conn.handle_packet_from_remote(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 341 ~ match conn.handle_packet_from_remote(zc_packet) { Err(e) => { [INFO] [stdout] 342 | tracing::trace!(?e, "udp forward packet error"); [INFO] [stdout] 343 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:418:19 [INFO] [stdout] | [INFO] [stdout] 418 | while let Some((dst_addr, err)) = close_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/tunnel/udp.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:433:15 [INFO] [stdout] | [INFO] [stdout] 433 | while let Some(conn) = self.conn_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/tunnel/udp.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:589:28 [INFO] [stdout] | [INFO] [stdout] 589 | if let Err(e) = udp_conn.handle_packet_from_remote(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:591:25 [INFO] [stdout] | [INFO] [stdout] 591 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 589 ~ match udp_conn.handle_packet_from_remote(zc_packet) { Err(e) => { [INFO] [stdout] 590 | tracing::trace!(?e, ?addr, "udp forward packet error"); [INFO] [stdout] 591 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:376:15 [INFO] [stdout] | [INFO] [stdout] 376 | while let Some(Ok(packet)) = stream.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/tunnel/wireguard.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:378:16 [INFO] [stdout] | [INFO] [stdout] 378 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:380:13 [INFO] [stdout] | [INFO] [stdout] 380 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 378 ~ match ret { Err(e) => { [INFO] [stdout] 379 | tracing::error!("Failed to handle packet from me: {}", e); [INFO] [stdout] 380 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:578:15 [INFO] [stdout] | [INFO] [stdout] 578 | while let Some(tunnel) = self.conn_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/tunnel/wireguard.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:177:23 [INFO] [stdout] | [INFO] [stdout] 177 | while let Ok(lf) = recver.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/utils.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:179:28 [INFO] [stdout] | [INFO] [stdout] 179 | if let Ok(nf) = EnvFilter::builder() [INFO] [stdout] | ____________________________^ - [INFO] [stdout] | |_________________________________________| [INFO] [stdout] 180 | || .with_default_directive(lf.parse::().unwrap().into()) [INFO] [stdout] 181 | || .from_env() [INFO] [stdout] 182 | || .with_context(|| "failed to create file filter") [INFO] [stdout] | ||____________________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |____________________________________________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match EnvFilter::builder() [INFO] [stdout] 180 | .with_default_directive(lf.parse::().unwrap().into()) [INFO] [stdout] 181 | .from_env() [INFO] [stdout] 182 | .with_context(|| "failed to create file filter") [INFO] [stdout] 183 ~ { Ok(nf) => { [INFO] [stdout] 184 | println!("Reload log filter succeed, new filter level: {:?}", lf); [INFO] [stdout] 185 | *f = nf; [INFO] [stdout] 186 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 126 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `easytier` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/common/constants.rs [INFO] [stderr] * src/common/stun_codec_ext.rs [INFO] [stderr] * src/gateway/fast_socks5/mod.rs [INFO] [stderr] * src/gateway/fast_socks5/util/stream.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/gateway/fast_socks5/util/stream.rs:29:6 [INFO] [stderr] | [INFO] [stderr] 29 | ($stream: expr_2021, $array: 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/gateway/fast_socks5/util/stream.rs:29:26 [INFO] [stderr] | [INFO] [stderr] 29 | ($stream: expr_2021, $array: 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/common/constants.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | ($name:ident, $type:ty, $init: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/common/constants.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | ($name:ident, $val: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/common/stun_codec_ext.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | ($decoder:ty, $item:ident, $and_then: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/common/stun_codec_ext.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | ($encoder:ty, $item:ty, $map_from: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] warning: unexpected `cfg` condition value: `socks4` [INFO] [stderr] --> src/gateway/fast_socks5/mod.rs:190:11 [INFO] [stderr] | [INFO] [stderr] 190 | #[cfg(feature = "socks4")] [INFO] [stderr] | ^^^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: there is a expected value with a similar name: `"socks5"` [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `aes-gcm`, `default`, `full`, `mimalloc`, `mips`, `quic`, `smoltcp`, `socks5`, `tun`, `websocket`, and `wireguard` [INFO] [stderr] = help: consider adding `socks4` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors; 1 warning emitted [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connector/udp_hole_punch.rs:820:38 [INFO] [stdout] | [INFO] [stdout] 820 | let tid = rand::thread_rng().gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unexpected `cfg` condition value: `socks4` [INFO] [stdout] --> src/gateway/fast_socks5/mod.rs:190:11 [INFO] [stdout] | [INFO] [stdout] 190 | #[cfg(feature = "socks4")] [INFO] [stdout] | ^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"socks5"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `aes-gcm`, `default`, `full`, `mimalloc`, `mips`, `quic`, `smoltcp`, `socks5`, `tun`, `websocket`, and `wireguard` [INFO] [stdout] = help: consider adding `socks4` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gateway/fast_socks5/util/stream.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | ($stream: expr, $array: 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] 29 | ($stream: expr_2021, $array: expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gateway/fast_socks5/util/stream.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | ($stream: expr, $array: 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] 29 | ($stream: expr, $array: 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/common/constants.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | ($name:ident, $type:ty, $init: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] 2 | ($name:ident, $type:ty, $init: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/common/constants.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | ($name:ident, $val: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] 17 | ($name:ident, $val: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/common/stun_codec_ext.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | ($decoder:ty, $item:ident, $and_then: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] 17 | ($decoder:ty, $item:ident, $and_then: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/common/stun_codec_ext.rs:48:39 [INFO] [stdout] | [INFO] [stdout] 48 | ($encoder:ty, $item:ty, $map_from: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] 48 | ($encoder:ty, $item:ty, $map_from:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:154:27 [INFO] [stdout] | [INFO] [stdout] 154 | while let Some(task_ret) = tasks.join_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/connector/direct.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | } 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] 212 ~ match ret { Err(e) => { [INFO] [stdout] 213 | if !matches!(e, Error::UrlInBlacklist) { [INFO] [stdout] ... [INFO] [stdout] 225 | return Err(e); [INFO] [stdout] 226 ~ } _ => { [INFO] [stdout] 227 | tracing::info!("try_connect_to_ip success, peer_id: {}", dst_peer_id); [INFO] [stdout] 228 | return Ok(()); [INFO] [stdout] 229 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:319:15 [INFO] [stdout] | [INFO] [stdout] 319 | while let Some(ret) = tasks.join_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/connector/direct.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:320:16 [INFO] [stdout] | [INFO] [stdout] 320 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 321 | tracing::error!("join direct connect task failed: {:?}", e); [INFO] [stdout] 322 | } else if let Ok(Ok(_)) = ret { [INFO] [stdout] | --- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | } else if let Ok(Ok(_)) = ret { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 320 ~ match ret { Err(e) => { [INFO] [stdout] 321 | tracing::error!("join direct connect task failed: {:?}", e); [INFO] [stdout] 322 ~ } _ => { match ret { Ok(Ok(_)) => { [INFO] [stdout] 323 | has_succ = true; [INFO] [stdout] 324 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/manual.rs:244:16 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(_) = data.connectors.remove(url) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/manual.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | } else if data.reconnecting.contains(url) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 244 ~ match data.connectors.remove(url) { Some(_) => { [INFO] [stdout] 245 | tracing::warn!("connector: {}, removed", url); [INFO] [stdout] 246 | continue; [INFO] [stdout] 247 ~ } _ => if data.reconnecting.contains(url) { [INFO] [stdout] 248 | tracing::warn!("connector: {}, reconnecting, remove later.", url); [INFO] [stdout] ... [INFO] [stdout] 252 | tracing::warn!("connector: {}, not found", url); [INFO] [stdout] 253 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:247:19 [INFO] [stdout] | [INFO] [stdout] 247 | while let Ok(conn) = 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/connector/udp_hole_punch.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:251:24 [INFO] [stdout] | [INFO] [stdout] 251 | if let Err(e) = peer_mgr.add_tunnel_as_server(conn).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/connector/udp_hole_punch.rs:256:21 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match peer_mgr.add_tunnel_as_server(conn).await { Err(e) => { [INFO] [stdout] 252 | tracing::error!( [INFO] [stdout] ... [INFO] [stdout] 255 | ); [INFO] [stdout] 256 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:810:16 [INFO] [stdout] | [INFO] [stdout] 810 | if let Ok(tunnel) = Self::try_connect_with_socket( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_________________________________| [INFO] [stdout] 811 | || Arc::new(UdpSocket::bind("0.0.0.0:0").await?), [INFO] [stdout] 812 | || remote_mapped_addr, [INFO] [stdout] 813 | || ) [INFO] [stdout] 814 | || .await [INFO] [stdout] | ||__________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |__________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:817:13 [INFO] [stdout] | [INFO] [stdout] 817 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 810 ~ match Self::try_connect_with_socket( [INFO] [stdout] 811 | Arc::new(UdpSocket::bind("0.0.0.0:0").await?), [INFO] [stdout] ... [INFO] [stdout] 814 | .await [INFO] [stdout] 815 ~ { Ok(tunnel) => { [INFO] [stdout] 816 | return Ok(tunnel); [INFO] [stdout] 817 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:884:19 [INFO] [stdout] | [INFO] [stdout] 884 | while let Some(socket) = udp_array.try_fetch_punched_socket(tid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | if let Ok(tunnel) = Self::try_connect_with_socket(socket, remote_mapped_addr).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/connector/udp_hole_punch.rs:888:17 [INFO] [stdout] | [INFO] [stdout] 888 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 885 ~ match Self::try_connect_with_socket(socket, remote_mapped_addr).await [INFO] [stdout] 886 ~ { Ok(tunnel) => { [INFO] [stdout] 887 | return Ok(tunnel); [INFO] [stdout] 888 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:961:20 [INFO] [stdout] | [INFO] [stdout] 961 | if let Some((_, task)) = punching_task.remove(&key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:972:17 [INFO] [stdout] | [INFO] [stdout] 972 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 961 ~ match punching_task.remove(&key) { Some((_, task)) => { [INFO] [stdout] 962 | task.abort(); [INFO] [stdout] ... [INFO] [stdout] 971 | } [INFO] [stdout] 972 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/icmp_proxy.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(_) = self.try_handle_peer_packet(&packet).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/gateway/icmp_proxy.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | } 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] 162 ~ match self.try_handle_peer_packet(&packet).await { Some(_) => { [INFO] [stdout] 163 | return None; [INFO] [stdout] 164 ~ } _ => { [INFO] [stdout] 165 | return Some(packet); [INFO] [stdout] 166 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/icmp_proxy.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | while let Some(msg) = receiver.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/gateway/icmp_proxy.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | if let Some(_) = self.try_handle_peer_packet(&mut packet).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/gateway/tcp_proxy.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | } 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] 201 ~ match self.try_handle_peer_packet(&mut packet).await { Some(_) => { [INFO] [stdout] 202 | if self [INFO] [stdout] ... [INFO] [stdout] 215 | return None; [INFO] [stdout] 216 ~ } _ => { [INFO] [stdout] 217 | Some(packet) [INFO] [stdout] 218 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:207:20 [INFO] [stdout] | [INFO] [stdout] 207 | if let Err(e) = smoltcp_stack_sender.try_send(packet) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | } [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 smoltcp_stack_sender.try_send(packet) { Err(e) => { [INFO] [stdout] 208 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 209 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:211:20 [INFO] [stdout] | [INFO] [stdout] 211 | if let Err(e) = self.peer_manager.get_nic_channel().send(packet).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/gateway/tcp_proxy.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] 211 ~ match self.peer_manager.get_nic_channel().send(packet).await { Err(e) => { [INFO] [stdout] 212 | tracing::error!("send to nic failed: {:?}", e); [INFO] [stdout] 213 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:249:24 [INFO] [stdout] | [INFO] [stdout] 249 | let entry = if let Some(entry) = self.addr_conn_map.get(&dst_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/gateway/tcp_proxy.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } 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] 249 ~ let entry = match self.addr_conn_map.get(&dst_addr) { Some(entry) => { [INFO] [stdout] 250 | entry [INFO] [stdout] 251 ~ } _ => { [INFO] [stdout] 252 | let Some(syn_entry) = self.syn_map.get(&dst_addr) else { [INFO] [stdout] ... [INFO] [stdout] 255 | syn_entry [INFO] [stdout] 256 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | while let Some(packet) = smoltcp_stack_receiver.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/gateway/tcp_proxy.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:381:24 [INFO] [stdout] | [INFO] [stdout] 381 | if let Err(e) = stack_sink.send(Ok(packet.payload().to_vec())).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/gateway/tcp_proxy.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 381 ~ match stack_sink.send(Ok(packet.payload().to_vec())).await { Err(e) => { [INFO] [stdout] 382 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 383 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:391:23 [INFO] [stdout] | [INFO] [stdout] 391 | while let Some(data) = stack_stream.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/gateway/tcp_proxy.rs:406:17 [INFO] [stdout] | [INFO] [stdout] 406 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:403:24 [INFO] [stdout] | [INFO] [stdout] 403 | if let Err(e) = peer_mgr.send_msg_ipv4(packet, dst).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/gateway/tcp_proxy.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 405 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 403 ~ match peer_mgr.send_msg_ipv4(packet, dst).await { Err(e) => { [INFO] [stdout] 404 | tracing::error!("send to peer failed in smoltcp sender: {:?}", e); [INFO] [stdout] 405 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:462:19 [INFO] [stdout] | [INFO] [stdout] 462 | while let Ok((tcp_stream, socket_addr)) = tcp_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/gateway/tcp_proxy.rs:491:13 [INFO] [stdout] | [INFO] [stdout] 491 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tokio_smoltcp/reactor.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 77 | while let (true, Some(Ok(p))) = ( [INFO] [stdout] | ___________________^ - [INFO] [stdout] | |_____________________________________________| [INFO] [stdout] 78 | || recv_buf.len() < max_burst_size, [INFO] [stdout] 79 | || async_iface.next().now_or_never().flatten(), [INFO] [stdout] 80 | || ) { [INFO] [stdout] | ||_____________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_____________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/tokio_smoltcp/reactor.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/udp_proxy.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | if let Some(_) = self.try_handle_packet(&packet).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/gateway/udp_proxy.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | } 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] 324 ~ match self.try_handle_packet(&packet).await { Some(_) => { [INFO] [stdout] 325 | return None; [INFO] [stdout] 326 ~ } _ => { [INFO] [stdout] 327 | return Some(packet); [INFO] [stdout] 328 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/udp_proxy.rs:386:19 [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(msg) = receiver.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/gateway/udp_proxy.rs:393:13 [INFO] [stdout] | [INFO] [stdout] 393 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:351:12 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(_auth) = self.config.auth.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:374:9 [INFO] [stdout] | [INFO] [stdout] 374 | } 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] 351 ~ match self.config.auth.as_ref() { Some(_auth) => { [INFO] [stdout] 352 | if client_methods.contains(&consts::SOCKS5_AUTH_METHOD_PASSWORD) { [INFO] [stdout] ... [INFO] [stdout] 373 | } [INFO] [stdout] 374 ~ } _ => { [INFO] [stdout] 375 | method_supported = consts::SOCKS5_AUTH_METHOD_NONE; [INFO] [stdout] 376 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:447:12 [INFO] [stdout] | [INFO] [stdout] 447 | if let Some(credentials) = auth.authenticate(credentials).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/gateway/fast_socks5/server.rs:459:9 [INFO] [stdout] | [INFO] [stdout] 459 | } 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] 447 ~ match auth.authenticate(credentials).await { Some(credentials) => { [INFO] [stdout] 448 | if auth_method == consts::SOCKS5_AUTH_METHOD_PASSWORD { [INFO] [stdout] ... [INFO] [stdout] 458 | return Ok(credentials); [INFO] [stdout] 459 ~ } _ => { [INFO] [stdout] 460 | self.inner [INFO] [stdout] ... [INFO] [stdout] 467 | ))); [INFO] [stdout] 468 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:140:19 [INFO] [stdout] | [INFO] [stdout] 140 | while let Some(packet) = smoltcp_stack_receiver.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/gateway/socks5.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:142:20 [INFO] [stdout] | [INFO] [stdout] 142 | if let Err(e) = stack_sink.send(Ok(packet.payload().to_vec())).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/gateway/socks5.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match stack_sink.send(Ok(packet.payload().to_vec())).await { Err(e) => { [INFO] [stdout] 143 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 144 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:151:19 [INFO] [stdout] | [INFO] [stdout] 151 | while let Some(data) = stack_stream.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/gateway/socks5.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | if let Err(e) = peer_manager.send_msg_ipv4(packet, dst).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/gateway/socks5.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 163 ~ match peer_manager.send_msg_ipv4(packet, dst).await { Err(e) => { [INFO] [stdout] 164 | tracing::error!("send to peer failed in smoltcp sender: {:?}", e); [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:247:20 [INFO] [stdout] | [INFO] [stdout] 247 | if let Some(entry) = self.2.lock().unwrap().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/gateway/socks5.rs:249:17 [INFO] [stdout] | [INFO] [stdout] 249 | } [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 self.2.lock().unwrap().take() { Some(entry) => { [INFO] [stdout] 248 | self.1.remove(&entry); [INFO] [stdout] 249 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:405:28 [INFO] [stdout] | [INFO] [stdout] 405 | if let Some(net) = net.lock().await.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:407:25 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 405 ~ match net.lock().await.as_ref() { Some(net) => { [INFO] [stdout] 406 | net.handle_tcp_stream(socket); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:223:19 [INFO] [stdout] | [INFO] [stdout] 223 | while let Some(packet) = packet_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/instance/instance.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:363:16 [INFO] [stdout] | [INFO] [stdout] 363 | if let Some(ipv4_addr) = self.global_ctx.get_ipv4() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 363 ~ match self.global_ctx.get_ipv4() { Some(ipv4_addr) => { [INFO] [stdout] 364 | let mut new_nic_ctx = NicCtx::new( [INFO] [stdout] ... [INFO] [stdout] 370 | Self::use_new_nic_ctx(self.nic_ctx.clone(), new_nic_ctx).await; [INFO] [stdout] 371 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:445:15 [INFO] [stdout] | [INFO] [stdout] 445 | while let Some(ret) = self.tasks.join_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/instance/instance.rs:448:9 [INFO] [stdout] | [INFO] [stdout] 448 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl VpnPortalRpc` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/instance/instance.rs:459:45 [INFO] [stdout] | [INFO] [stdout] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc { [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/instance/instance.rs:459:35 [INFO] [stdout] | [INFO] [stdout] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc { [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] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/listeners.rs:170:20 [INFO] [stdout] | [INFO] [stdout] 170 | if let Err(e) = &server_ret { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/listeners.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 170 ~ match &server_ret { Err(e) => { [INFO] [stdout] 171 | global_ctx.issue_event(GlobalCtxEvent::ConnectionError( [INFO] [stdout] ... [INFO] [stdout] 176 | tracing::error!(error = ?e, "handle conn error"); [INFO] [stdout] 177 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl IfConfiguerTrait` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:482:32 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait { [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/instance/virtual_nic.rs:482:22 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait { [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] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:524:12 [INFO] [stdout] | [INFO] [stdout] 524 | if let Some(ipv4) = Ipv4Packet::new(ret.payload()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | } 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] 524 ~ match Ipv4Packet::new(ret.payload()) { Some(ipv4) => { [INFO] [stdout] 525 | if ipv4.get_version() != 4 { [INFO] [stdout] ... [INFO] [stdout] 539 | } [INFO] [stdout] 540 ~ } _ => { [INFO] [stdout] 541 | tracing::warn!(?ret, "[USER_PACKET] not ipv4 packet"); [INFO] [stdout] 542 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:554:19 [INFO] [stdout] | [INFO] [stdout] 554 | while let Some(ret) = stream.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/instance/virtual_nic.rs:560:13 [INFO] [stdout] | [INFO] [stdout] 560 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:571:19 [INFO] [stdout] | [INFO] [stdout] 571 | while let Some(packet) = channel.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/instance/virtual_nic.rs:580:13 [INFO] [stdout] | [INFO] [stdout] 580 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | ... if let Some((_, conn)) = conns_copy.remove(&ret) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match conns_copy.remove(&ret) { Some((_, conn)) => { [INFO] [stdout] 71 | global_ctx_copy.issue_event(GlobalCtxEvent::PeerConnRemoved( [INFO] [stdout] 72 | conn.get_conn_info(), [INFO] [stdout] 73 | )); [INFO] [stdout] 74 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:254:23 [INFO] [stdout] | [INFO] [stdout] 254 | while let Some(ret) = stream.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/peers/peer_conn.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:272:28 [INFO] [stdout] | [INFO] [stdout] 272 | if let Err(e) = sink.send(zc_packet).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/peers/peer_conn.rs:274:25 [INFO] [stdout] | [INFO] [stdout] 274 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 272 ~ match sink.send(zc_packet).await { Err(e) => { [INFO] [stdout] 273 | tracing::error!(?e, "peer conn send req error"); [INFO] [stdout] 274 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:276:28 [INFO] [stdout] | [INFO] [stdout] 276 | if let Err(e) = ctrl_sender.send(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 276 ~ match ctrl_sender.send(zc_packet) { Err(e) => { [INFO] [stdout] 277 | tracing::error!(?e, "peer conn send ctrl resp error"); [INFO] [stdout] 278 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | while let Some(ret) = ping_res_receiver.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/peers/peer_conn_ping.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | if let Ok(lat) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ match ret { Ok(lat) => { [INFO] [stdout] 181 | latency_stats.record_latency(lat as u32); [INFO] [stdout] ... [INFO] [stdout] 184 | loss_rate_stats_20.record_latency(0); [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | loss_rate_stats_1.record_latency(1); [INFO] [stdout] 187 | loss_rate_stats_20.record_latency(1); [INFO] [stdout] 188 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(gateway_id) = peers [INFO] [stdout] | ____________^ [INFO] [stdout] 79 | | .get_gateway_peer_id(dst_peer_id, NextHopPolicy::LeastHop) [INFO] [stdout] 80 | | .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/peers/peer_manager.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } else if foreign_peers.has_next_hop(dst_peer_id) { [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 ~ match peers [INFO] [stdout] 79 | .get_gateway_peer_id(dst_peer_id, NextHopPolicy::LeastHop) [INFO] [stdout] 80 | .await [INFO] [stdout] 81 ~ { Some(gateway_id) => { [INFO] [stdout] 82 | tracing::trace!( [INFO] [stdout] ... [INFO] [stdout] 91 | peers.send_msg_directly(msg, gateway_id).await [INFO] [stdout] 92 ~ } _ => if foreign_peers.has_next_hop(dst_peer_id) { [INFO] [stdout] 93 | if !foreign_peers.is_peer_public_node(&dst_peer_id) { [INFO] [stdout] ... [INFO] [stdout] 109| )))) [INFO] [stdout] 110~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some(o) = self.packet_recv.lock().await.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/peers/peer_manager.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match self.packet_recv.lock().await.recv().await { Some(o) => { [INFO] [stdout] 115 | Ok(o) [INFO] [stdout] 116 ~ } _ => { [INFO] [stdout] 117 | Err(Error::Unknown) [INFO] [stdout] 118 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:337:19 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(mut ret) = 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/peers/peer_manager.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:569:12 [INFO] [stdout] | [INFO] [stdout] 569 | if let Some(gateway) = peers.get_gateway_peer_id(dst_peer_id, policy).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/peers/peer_manager.rs:571:9 [INFO] [stdout] | [INFO] [stdout] 571 | } else if foreign_network_client.has_next_hop(dst_peer_id) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 569 ~ match peers.get_gateway_peer_id(dst_peer_id, policy).await { Some(gateway) => { [INFO] [stdout] 570 | peers.send_msg_directly(msg, gateway).await [INFO] [stdout] 571 ~ } _ => if foreign_network_client.has_next_hop(dst_peer_id) { [INFO] [stdout] 572 | foreign_network_client.send_msg(msg, dst_peer_id).await [INFO] [stdout] 573 | } else { [INFO] [stdout] 574 | Err(Error::RouteError(None)) [INFO] [stdout] 575 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:596:19 [INFO] [stdout] | [INFO] [stdout] 596 | } else if let Some(peer_id) = self.peers.get_peer_id_by_ipv4(&ipv4_addr).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/peers/peer_manager.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | } 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] 596 ~ } else { match self.peers.get_peer_id_by_ipv4(&ipv4_addr).await { Some(peer_id) => { [INFO] [stdout] 597 | dst_peers.push(peer_id); [INFO] [stdout] 598 ~ } _ => { [INFO] [stdout] 599 | for exit_node in &self.exit_nodes { [INFO] [stdout] ... [INFO] [stdout] 605 | } [INFO] [stdout] 606 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:600:20 [INFO] [stdout] | [INFO] [stdout] 600 | if let Some(peer_id) = self.peers.get_peer_id_by_ipv4(exit_node).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/peers/peer_manager.rs:604:17 [INFO] [stdout] | [INFO] [stdout] 604 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 600 ~ match self.peers.get_peer_id_by_ipv4(exit_node).await { Some(peer_id) => { [INFO] [stdout] 601 | dst_peers.push(peer_id); [INFO] [stdout] 602 | is_exit_node = true; [INFO] [stdout] 603 | break; [INFO] [stdout] 604 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:647:16 [INFO] [stdout] | [INFO] [stdout] 647 | if let Some(gateway) = self [INFO] [stdout] | ________________^ [INFO] [stdout] 648 | | .peers [INFO] [stdout] 649 | | .get_gateway_peer_id(*peer_id, next_hop_policy.clone()) [INFO] [stdout] 650 | | .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/peers/peer_manager.rs:655:13 [INFO] [stdout] | [INFO] [stdout] 655 | } else if self.foreign_network_client.has_next_hop(*peer_id) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 647 ~ match self [INFO] [stdout] 648 | .peers [INFO] [stdout] 649 | .get_gateway_peer_id(*peer_id, next_hop_policy.clone()) [INFO] [stdout] 650 | .await [INFO] [stdout] 651 ~ { Some(gateway) => { [INFO] [stdout] 652 | if let Err(e) = self.peers.send_msg_directly(msg, gateway).await { [INFO] [stdout] 653 | errs.push(e); [INFO] [stdout] 654 | } [INFO] [stdout] 655 ~ } _ => if self.foreign_network_client.has_next_hop(*peer_id) { [INFO] [stdout] 656 | if let Err(e) = self.foreign_network_client.send_msg(msg, *peer_id).await { [INFO] [stdout] 657 | errs.push(e); [INFO] [stdout] 658 | } [INFO] [stdout] 659 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:652:20 [INFO] [stdout] | [INFO] [stdout] 652 | if let Err(e) = self.peers.send_msg_directly(msg, gateway).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/peers/peer_manager.rs:654:17 [INFO] [stdout] | [INFO] [stdout] 654 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 652 ~ match self.peers.send_msg_directly(msg, gateway).await { Err(e) => { [INFO] [stdout] 653 | errs.push(e); [INFO] [stdout] 654 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:656:20 [INFO] [stdout] | [INFO] [stdout] 656 | if let Err(e) = self.foreign_network_client.send_msg(msg, *peer_id).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/peers/peer_manager.rs:658:17 [INFO] [stdout] | [INFO] [stdout] 658 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 656 ~ match self.foreign_network_client.send_msg(msg, *peer_id).await { Err(e) => { [INFO] [stdout] 657 | errs.push(e); [INFO] [stdout] 658 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 112 | if let Some(gateway_peer_id) = route [INFO] [stdout] | ________________^ [INFO] [stdout] 113 | | .get_next_hop_with_policy(dst_peer_id, policy.clone()) [INFO] [stdout] 114 | | .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/peers/peer_map.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 ~ match route [INFO] [stdout] 113 | .get_next_hop_with_policy(dst_peer_id, policy.clone()) [INFO] [stdout] 114 | .await [INFO] [stdout] 115 ~ { Some(gateway_peer_id) => { [INFO] [stdout] 116 | // for foreign network, gateway_peer_id may not connect to me [INFO] [stdout] ... [INFO] [stdout] 119 | } [INFO] [stdout] 120 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(p) = self.get_peer_by_id(peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 181 ~ match self.get_peer_by_id(peer_id) { Some(p) => { [INFO] [stdout] 182 | Some(p.list_peer_conns().await) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | return None; [INFO] [stdout] 185 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | if let Some(p) = self.get_peer_by_id(peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } 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] 193 ~ match self.get_peer_by_id(peer_id) { Some(p) => { [INFO] [stdout] 194 | p.close_peer_conn(conn_id).await [INFO] [stdout] 195 ~ } _ => { [INFO] [stdout] 196 | return Err(Error::NotFound); [INFO] [stdout] 197 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:621:12 [INFO] [stdout] | [INFO] [stdout] 621 | if let Some(old) = self.task.lock().unwrap().replace(task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:623:9 [INFO] [stdout] | [INFO] [stdout] 623 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 621 ~ match self.task.lock().unwrap().replace(task) { Some(old) => { [INFO] [stdout] 622 | old.abort(); [INFO] [stdout] 623 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:627:12 [INFO] [stdout] | [INFO] [stdout] 627 | if let Some(task) = self.task.lock().unwrap().as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | } 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] 627 ~ match self.task.lock().unwrap().as_ref() { Some(task) => { [INFO] [stdout] 628 | !task.is_finished() [INFO] [stdout] 629 ~ } _ => { [INFO] [stdout] 630 | false [INFO] [stdout] 631 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:637:12 [INFO] [stdout] | [INFO] [stdout] 637 | if let Some(task) = self.task.lock().unwrap().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/peers/peer_ospf_route.rs:639:9 [INFO] [stdout] | [INFO] [stdout] 639 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 637 ~ match self.task.lock().unwrap().take() { Some(task) => { [INFO] [stdout] 638 | task.abort(); [INFO] [stdout] 639 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:998:16 [INFO] [stdout] | [INFO] [stdout] 998 | if let Ok(d) = now.duration_since(item.value().last_update) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1002:13 [INFO] [stdout] | [INFO] [stdout] 1002 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 998 ~ match now.duration_since(item.value().last_update) { Ok(d) => { [INFO] [stdout] 999 | if d > REMOVE_DEAD_PEER_INFO_AFTER { [INFO] [stdout] 1000 | to_remove.push(*item.key()); [INFO] [stdout] 1001 | } [INFO] [stdout] 1002 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1305:24 [INFO] [stdout] | [INFO] [stdout] 1305 | if let Some(session) = service_impl.get_session(cur_peer_id_to_initiate) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1307:21 [INFO] [stdout] | [INFO] [stdout] 1307 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1305 ~ match service_impl.get_session(cur_peer_id_to_initiate) { Some(session) => { [INFO] [stdout] 1306 | session.update_initiator_flag(false); [INFO] [stdout] 1307 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1321:20 [INFO] [stdout] | [INFO] [stdout] 1321 | if let Some(session) = service_impl.get_session(*peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1331:17 [INFO] [stdout] | [INFO] [stdout] 1331 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1321 ~ match service_impl.get_session(*peer_id) { Some(session) => { [INFO] [stdout] 1322 | if (session.dst_is_initiator.load(Ordering::Relaxed) [INFO] [stdout] ... [INFO] [stdout] 1330 | assert_ne!(Some(*peer_id), cur_dst_peer_id_to_initiate); [INFO] [stdout] 1331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | ... if let Err(e) = tspt.send(msg, peer_id).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/peers/peer_rpc.rs:239:33 [INFO] [stdout] | [INFO] [stdout] 239 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 236 ~ match tspt.send(msg, peer_id).await { Err(e) => { [INFO] [stdout] 237 | tracing::error!(error = ?e, peer_id = ?peer_id, service_id = ?service_id, "send resp to peer failed"); [INFO] [stdout] 238 | break; [INFO] [stdout] 239 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:271:32 [INFO] [stdout] | [INFO] [stdout] 271 | ... if let Err(e) = client_transport.send(decoded).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/peers/peer_rpc.rs:273:29 [INFO] [stdout] | [INFO] [stdout] 273 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 271 ~ match client_transport.send(decoded).await { Err(e) => { [INFO] [stdout] 272 | tracing::error!(error = ?e, "send to req to client transport failed"); [INFO] [stdout] 273 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:400:24 [INFO] [stdout] | [INFO] [stdout] 400 | if let Some(a) = client_resp_receivers.get(&PeerRpcClientCtxKey( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |______________________________________| [INFO] [stdout] 401 | || info.from_peer, [INFO] [stdout] 402 | || info.service_id, [INFO] [stdout] 403 | || info.transact_id, [INFO] [stdout] 404 | || )) { [INFO] [stdout] | ||______________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } 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] 400 ~ match client_resp_receivers.get(&PeerRpcClientCtxKey( [INFO] [stdout] 401 | info.from_peer, [INFO] [stdout] 402 | info.service_id, [INFO] [stdout] 403 | info.transact_id, [INFO] [stdout] 404 ~ )) { Some(a) => { [INFO] [stdout] 405 | tracing::trace!("recv resp: {:?}", info); [INFO] [stdout] ... [INFO] [stdout] 408 | } [INFO] [stdout] 409 ~ } _ => { [INFO] [stdout] 410 | tracing::warn!("client resp receiver not found, info: {:?}", info); [INFO] [stdout] 411 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:406:28 [INFO] [stdout] | [INFO] [stdout] 406 | if let Err(e) = a.send(o) { [INFO] [stdout] | ^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:408:25 [INFO] [stdout] | [INFO] [stdout] 408 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 406 ~ match a.send(o) { Err(e) => { [INFO] [stdout] 407 | tracing::error!(error = ?e, "send resp to client failed"); [INFO] [stdout] 408 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:464:19 [INFO] [stdout] | [INFO] [stdout] 464 | while let Some(a) = server_r.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/peers/peer_rpc.rs:493:13 [INFO] [stdout] | [INFO] [stdout] 493 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:488:24 [INFO] [stdout] | [INFO] [stdout] 488 | if let Err(e) = tspt.send(packet, dst_peer_id).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/peers/peer_rpc.rs:491:21 [INFO] [stdout] | [INFO] [stdout] 491 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 488 ~ match tspt.send(packet, dst_peer_id).await { Err(e) => { [INFO] [stdout] 489 | tracing::error!(error = ?e, dst_peer_id = ?dst_peer_id, "send to peer failed"); [INFO] [stdout] 490 | break; [INFO] [stdout] 491 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:500:19 [INFO] [stdout] | [INFO] [stdout] 500 | while let Some(packet) = packet_receiver.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/peers/peer_rpc.rs:527:13 [INFO] [stdout] | [INFO] [stdout] 527 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:524:20 [INFO] [stdout] | [INFO] [stdout] 524 | if let Err(e) = server_s.send(decoded.unwrap()).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/peers/peer_rpc.rs:526:17 [INFO] [stdout] | [INFO] [stdout] 526 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 524 ~ match server_s.send(decoded.unwrap()).await { Err(e) => { [INFO] [stdout] 525 | tracing::error!(error = ?e, "send to rpc server channel failed"); [INFO] [stdout] 526 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_client.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(join_ret) = tasks.join_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/peers/foreign_network_client.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(o) = self.packet_recv.lock().await.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/peers/foreign_network_manager.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 124 ~ match self.packet_recv.lock().await.recv().await { Some(o) => { [INFO] [stdout] 125 | Ok(o) [INFO] [stdout] 126 ~ } _ => { [INFO] [stdout] 127 | Err(Error::Unknown) [INFO] [stdout] 128 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:265:19 [INFO] [stdout] | [INFO] [stdout] 265 | while let Ok(e) = s.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/peers/foreign_network_manager.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:272:19 [INFO] [stdout] | [INFO] [stdout] 272 | while let Some(e) = ev_rx.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/peers/foreign_network_manager.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:292:19 [INFO] [stdout] | [INFO] [stdout] 292 | while let Some(packet_bytes) = 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/peers/foreign_network_manager.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:304:24 [INFO] [stdout] | [INFO] [stdout] 304 | if let Err(e) = sender_to_mgr.send(packet_bytes).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/peers/foreign_network_manager.rs:306:21 [INFO] [stdout] | [INFO] [stdout] 306 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 304 ~ match sender_to_mgr.send(packet_bytes).await { Err(e) => { [INFO] [stdout] 305 | tracing::error!("send packet to mgr failed: {:?}", e); [INFO] [stdout] 306 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:318:24 [INFO] [stdout] | [INFO] [stdout] 318 | if let Some(entry) = data.get_network_entry(&from_network) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | } 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] 318 ~ match data.get_network_entry(&from_network) { Some(entry) => { [INFO] [stdout] 319 | if !entry.relay_data && hdr.packet_type == PacketType::Data as u8 { [INFO] [stdout] ... [INFO] [stdout] 329 | } [INFO] [stdout] 330 ~ } _ => { [INFO] [stdout] 331 | tracing::error!("foreign network not found: {}", from_network); [INFO] [stdout] 332 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vpn_portal/wireguard.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | while let Some(Ok(msg)) = stream.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/vpn_portal/wireguard.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vpn_portal/wireguard.rs:196:19 [INFO] [stdout] | [INFO] [stdout] 196 | while let Ok(t) = l.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/vpn_portal/wireguard.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/config.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 352 | if let Some(proxy_cidrs) = &mut locked_config.proxy_network { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/config.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 352 ~ match &mut locked_config.proxy_network { Some(proxy_cidrs) => { [INFO] [stdout] 353 | let cidr_str = cidr.to_string(); [INFO] [stdout] 354 | proxy_cidrs.retain(|c| c.cidr != cidr_str); [INFO] [stdout] 355 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:337:15 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(_) = self.task_set.join_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/common/stun.rs:337:62 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(_) = self.task_set.join_next().await {} [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:507:15 [INFO] [stdout] | [INFO] [stdout] 507 | while let Some(addr) = host_resolver.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/common/stun.rs:509:9 [INFO] [stdout] | [INFO] [stdout] 509 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:533:15 [INFO] [stdout] | [INFO] [stdout] 533 | while let Some(resp) = stun_task_set.join_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/common/stun.rs:537:9 [INFO] [stdout] | [INFO] [stdout] 537 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:534:16 [INFO] [stdout] | [INFO] [stdout] 534 | if let Ok(Ok(resp)) = resp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/stun.rs:536:13 [INFO] [stdout] | [INFO] [stdout] 536 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 534 ~ match resp { Ok(Ok(resp)) => { [INFO] [stdout] 535 | bind_resps.push(resp); [INFO] [stdout] 536 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:695:24 [INFO] [stdout] | [INFO] [stdout] 695 | if let Ok(resp) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/stun.rs:699:21 [INFO] [stdout] | [INFO] [stdout] 699 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 695 ~ match ret { Ok(resp) => { [INFO] [stdout] 696 | udp_nat_test_result.write().unwrap().as_mut().map(|x| { [INFO] [stdout] 697 | x.extend_result(resp); [INFO] [stdout] 698 | }); [INFO] [stdout] 699 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/launcher.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | while let Ok(event) = receiver.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/launcher.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/launcher.rs:254:12 [INFO] [stdout] | [INFO] [stdout] 254 | if let Some(handle) = self.thread_handle.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/launcher.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 254 ~ match self.thread_handle.take() { Some(handle) => { [INFO] [stdout] 255 | if let Err(e) = handle.join() { [INFO] [stdout] 256 | println!("Error when joining thread: {:?}", e); [INFO] [stdout] 257 | } [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/launcher.rs:255:16 [INFO] [stdout] | [INFO] [stdout] 255 | if let Err(e) = handle.join() { [INFO] [stdout] | ^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/launcher.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 255 ~ match handle.join() { Err(e) => { [INFO] [stdout] 256 | println!("Error when joining thread: {:?}", e); [INFO] [stdout] 257 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/launcher.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(launcher) = self.launcher.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/launcher.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 317 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 315 ~ match self.launcher.as_ref() { Some(launcher) => { [INFO] [stdout] 316 | launcher.data.tun_fd.write().unwrap().replace(tun_fd); [INFO] [stdout] 317 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:150:19 [INFO] [stdout] | [INFO] [stdout] 150 | while let Some(packet) = [INFO] [stdout] | ___________________^ [INFO] [stdout] 151 | | Self::extract_one_packet(self_mut.buf, *self_mut.max_packet_size) [INFO] [stdout] | |_________________----------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:401:11 [INFO] [stdout] | [INFO] [stdout] 401 | while let Some(ret) = futures.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/tunnel/common.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 404 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match ret { Err(e) => { [INFO] [stdout] 403 | last_err = Some(e.into()); [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | return ret.map_err(|e| e.into()); [INFO] [stdout] 406 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:444:19 [INFO] [stdout] | [INFO] [stdout] 444 | while let Some(item) = 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/tunnel/common.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:448:20 [INFO] [stdout] | [INFO] [stdout] 448 | if let Err(_) = send.send(msg).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/tunnel/common.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 448 ~ match send.send(msg).await { Err(_) => { [INFO] [stdout] 449 | break; [INFO] [stdout] 450 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl tunnel::ZCPacketSink` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/tunnel/filter.rs:100:72 [INFO] [stdout] | [INFO] [stdout] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink { [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/tunnel/filter.rs:100:53 [INFO] [stdout] | [INFO] [stdout] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink { [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] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink + use { [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl tunnel::ZCPacketStream` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/tunnel/filter.rs:151:78 [INFO] [stdout] | [INFO] [stdout] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream { [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/tunnel/filter.rs:151:57 [INFO] [stdout] | [INFO] [stdout] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream { [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] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream + use { [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | if let Err(e) = Self::forward_one_round(&mut rx, &mut sink).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/tunnel/mpsc.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match Self::forward_one_round(&mut rx, &mut sink).await { Err(e) => { [INFO] [stdout] 41 | tracing::error!(?e, "forward error"); [INFO] [stdout] 42 | break; [INFO] [stdout] 43 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | while let Ok(item) = rx.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/tunnel/mpsc.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | if let Err(e) = sink.feed(item).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/tunnel/mpsc.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match sink.feed(item).await { Err(e) => { [INFO] [stdout] 65 | tracing::error!(?e, "feed error"); [INFO] [stdout] 66 | break; [INFO] [stdout] 67 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if let Some(w) = self.wait_for_new_item.take(Ordering::AcqRel) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 65 ~ match self.wait_for_new_item.take(Ordering::AcqRel) { Some(w) => { [INFO] [stdout] 66 | tracing::trace!(?self.id, "notify new item"); [INFO] [stdout] 67 | w.wake(); [INFO] [stdout] 68 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | if let Some(w) = self.wait_for_empty_slot.take(Ordering::AcqRel) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 72 ~ match self.wait_for_empty_slot.take(Ordering::AcqRel) { Some(w) => { [INFO] [stdout] 73 | tracing::trace!(?self.id, "notify empty slot"); [INFO] [stdout] 74 | w.wake(); [INFO] [stdout] 75 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:209:16 [INFO] [stdout] | [INFO] [stdout] 209 | if let Err(e) = close_event_sender.send((dst_addr, err)) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 209 ~ match close_event_sender.send((dst_addr, err)) { Err(e) => { [INFO] [stdout] 210 | tracing::error!(?e, "udp send close event error"); [INFO] [stdout] 211 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:327:12 [INFO] [stdout] | [INFO] [stdout] 327 | if let Err(e) = self.conn_send.send(conn).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/tunnel/udp.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 327 ~ match self.conn_send.send(conn).await { Err(e) => { [INFO] [stdout] 328 | tracing::warn!(?e, "udp send conn to accept channel error"); [INFO] [stdout] 329 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:341:16 [INFO] [stdout] | [INFO] [stdout] 341 | if let Err(e) = conn.handle_packet_from_remote(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 341 ~ match conn.handle_packet_from_remote(zc_packet) { Err(e) => { [INFO] [stdout] 342 | tracing::trace!(?e, "udp forward packet error"); [INFO] [stdout] 343 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:418:19 [INFO] [stdout] | [INFO] [stdout] 418 | while let Some((dst_addr, err)) = close_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/tunnel/udp.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:433:15 [INFO] [stdout] | [INFO] [stdout] 433 | while let Some(conn) = self.conn_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/tunnel/udp.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:589:28 [INFO] [stdout] | [INFO] [stdout] 589 | if let Err(e) = udp_conn.handle_packet_from_remote(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:591:25 [INFO] [stdout] | [INFO] [stdout] 591 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 589 ~ match udp_conn.handle_packet_from_remote(zc_packet) { Err(e) => { [INFO] [stdout] 590 | tracing::trace!(?e, ?addr, "udp forward packet error"); [INFO] [stdout] 591 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:376:15 [INFO] [stdout] | [INFO] [stdout] 376 | while let Some(Ok(packet)) = stream.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/tunnel/wireguard.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:378:16 [INFO] [stdout] | [INFO] [stdout] 378 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:380:13 [INFO] [stdout] | [INFO] [stdout] 380 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 378 ~ match ret { Err(e) => { [INFO] [stdout] 379 | tracing::error!("Failed to handle packet from me: {}", e); [INFO] [stdout] 380 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:578:15 [INFO] [stdout] | [INFO] [stdout] 578 | while let Some(tunnel) = self.conn_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/tunnel/wireguard.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:177:23 [INFO] [stdout] | [INFO] [stdout] 177 | while let Ok(lf) = recver.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/utils.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:179:28 [INFO] [stdout] | [INFO] [stdout] 179 | if let Ok(nf) = EnvFilter::builder() [INFO] [stdout] | ____________________________^ - [INFO] [stdout] | |_________________________________________| [INFO] [stdout] 180 | || .with_default_directive(lf.parse::().unwrap().into()) [INFO] [stdout] 181 | || .from_env() [INFO] [stdout] 182 | || .with_context(|| "failed to create file filter") [INFO] [stdout] | ||____________________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |____________________________________________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match EnvFilter::builder() [INFO] [stdout] 180 | .with_default_directive(lf.parse::().unwrap().into()) [INFO] [stdout] 181 | .from_env() [INFO] [stdout] 182 | .with_context(|| "failed to create file filter") [INFO] [stdout] 183 ~ { Ok(nf) => { [INFO] [stdout] 184 | println!("Reload log filter succeed, new filter level: {:?}", lf); [INFO] [stdout] 185 | *f = nf; [INFO] [stdout] 186 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 124 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/easytier-core.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `easytier_core` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/common/constants.rs [INFO] [stderr] * src/common/stun_codec_ext.rs [INFO] [stderr] * src/gateway/fast_socks5/mod.rs [INFO] [stderr] * src/gateway/fast_socks5/util/stream.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/common/constants.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | ($name:ident, $type:ty, $init: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/common/constants.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | ($name:ident, $val: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/common/stun_codec_ext.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | ($decoder:ty, $item:ident, $and_then: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/common/stun_codec_ext.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | ($encoder:ty, $item:ty, $map_from: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/gateway/fast_socks5/util/stream.rs:29:6 [INFO] [stderr] | [INFO] [stderr] 29 | ($stream: expr_2021, $array: 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/gateway/fast_socks5/util/stream.rs:29:26 [INFO] [stderr] | [INFO] [stderr] 29 | ($stream: expr_2021, $array: 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] warning: unexpected `cfg` condition value: `socks4` [INFO] [stderr] --> src/gateway/fast_socks5/mod.rs:190:11 [INFO] [stderr] | [INFO] [stderr] 190 | #[cfg(feature = "socks4")] [INFO] [stderr] | ^^^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: there is a expected value with a similar name: `"socks5"` [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `aes-gcm`, `default`, `full`, `mimalloc`, `mips`, `quic`, `smoltcp`, `socks5`, `tun`, `websocket`, and `wireguard` [INFO] [stderr] = help: consider adding `socks4` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connector/udp_hole_punch.rs:820:38 [INFO] [stdout] | [INFO] [stdout] 820 | let tid = rand::thread_rng().gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/common/constants.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | ($name:ident, $type:ty, $init: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] 2 | ($name:ident, $type:ty, $init: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/common/constants.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | ($name:ident, $val: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] 17 | ($name:ident, $val: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/common/stun_codec_ext.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | ($decoder:ty, $item:ident, $and_then: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] 17 | ($decoder:ty, $item:ident, $and_then: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/common/stun_codec_ext.rs:48:39 [INFO] [stdout] | [INFO] [stdout] 48 | ($encoder:ty, $item:ty, $map_from: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] 48 | ($encoder:ty, $item:ty, $map_from:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `socks4` [INFO] [stdout] --> src/gateway/fast_socks5/mod.rs:190:11 [INFO] [stdout] | [INFO] [stdout] 190 | #[cfg(feature = "socks4")] [INFO] [stdout] | ^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"socks5"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `aes-gcm`, `default`, `full`, `mimalloc`, `mips`, `quic`, `smoltcp`, `socks5`, `tun`, `websocket`, and `wireguard` [INFO] [stdout] = help: consider adding `socks4` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gateway/fast_socks5/util/stream.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | ($stream: expr, $array: 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] 29 | ($stream: expr_2021, $array: expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gateway/fast_socks5/util/stream.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | ($stream: expr, $array: 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] 29 | ($stream: expr, $array: expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/easytier-core.rs:560:15 [INFO] [stdout] | [INFO] [stdout] 560 | while let Ok(e) = events.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/easytier-core.rs:660:9 [INFO] [stdout] | [INFO] [stdout] 660 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/three_node.rs:450:15 [INFO] [stdout] | [INFO] [stdout] 450 | while let Ok((n, addr)) = socket.recv_from(&mut recv_buff).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/tests/three_node.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/config.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 352 | if let Some(proxy_cidrs) = &mut locked_config.proxy_network { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/config.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 352 ~ match &mut locked_config.proxy_network { Some(proxy_cidrs) => { [INFO] [stdout] 353 | let cidr_str = cidr.to_string(); [INFO] [stdout] 354 | proxy_cidrs.retain(|c| c.cidr != cidr_str); [INFO] [stdout] 355 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/config.rs:558:12 [INFO] [stdout] | [INFO] [stdout] 558 | if let Err(e) = &ret { [INFO] [stdout] | ^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/config.rs:560:9 [INFO] [stdout] | [INFO] [stdout] 560 | } 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] 558 ~ match &ret { Err(e) => { [INFO] [stdout] 559 | println!("{}", e); [INFO] [stdout] 560 ~ } _ => { [INFO] [stdout] 561 | println!("{:?}", ret.as_ref().unwrap()); [INFO] [stdout] 562 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:337:15 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(_) = self.task_set.join_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/common/stun.rs:337:62 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(_) = self.task_set.join_next().await {} [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:507:15 [INFO] [stdout] | [INFO] [stdout] 507 | while let Some(addr) = host_resolver.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/common/stun.rs:509:9 [INFO] [stdout] | [INFO] [stdout] 509 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:533:15 [INFO] [stdout] | [INFO] [stdout] 533 | while let Some(resp) = stun_task_set.join_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/common/stun.rs:537:9 [INFO] [stdout] | [INFO] [stdout] 537 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:534:16 [INFO] [stdout] | [INFO] [stdout] 534 | if let Ok(Ok(resp)) = resp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/stun.rs:536:13 [INFO] [stdout] | [INFO] [stdout] 536 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 534 ~ match resp { Ok(Ok(resp)) => { [INFO] [stdout] 535 | bind_resps.push(resp); [INFO] [stdout] 536 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:695:24 [INFO] [stdout] | [INFO] [stdout] 695 | if let Ok(resp) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/stun.rs:699:21 [INFO] [stdout] | [INFO] [stdout] 699 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 695 ~ match ret { Ok(resp) => { [INFO] [stdout] 696 | udp_nat_test_result.write().unwrap().as_mut().map(|x| { [INFO] [stdout] 697 | x.extend_result(resp); [INFO] [stdout] 698 | }); [INFO] [stdout] 699 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:154:27 [INFO] [stdout] | [INFO] [stdout] 154 | while let Some(task_ret) = tasks.join_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/connector/direct.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | } 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] 212 ~ match ret { Err(e) => { [INFO] [stdout] 213 | if !matches!(e, Error::UrlInBlacklist) { [INFO] [stdout] ... [INFO] [stdout] 225 | return Err(e); [INFO] [stdout] 226 ~ } _ => { [INFO] [stdout] 227 | tracing::info!("try_connect_to_ip success, peer_id: {}", dst_peer_id); [INFO] [stdout] 228 | return Ok(()); [INFO] [stdout] 229 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:319:15 [INFO] [stdout] | [INFO] [stdout] 319 | while let Some(ret) = tasks.join_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/connector/direct.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:320:16 [INFO] [stdout] | [INFO] [stdout] 320 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 321 | tracing::error!("join direct connect task failed: {:?}", e); [INFO] [stdout] 322 | } else if let Ok(Ok(_)) = ret { [INFO] [stdout] | --- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | } else if let Ok(Ok(_)) = ret { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 320 ~ match ret { Err(e) => { [INFO] [stdout] 321 | tracing::error!("join direct connect task failed: {:?}", e); [INFO] [stdout] 322 ~ } _ => { match ret { Ok(Ok(_)) => { [INFO] [stdout] 323 | has_succ = true; [INFO] [stdout] 324 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/manual.rs:244:16 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(_) = data.connectors.remove(url) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/manual.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | } else if data.reconnecting.contains(url) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 244 ~ match data.connectors.remove(url) { Some(_) => { [INFO] [stdout] 245 | tracing::warn!("connector: {}, removed", url); [INFO] [stdout] 246 | continue; [INFO] [stdout] 247 ~ } _ => if data.reconnecting.contains(url) { [INFO] [stdout] 248 | tracing::warn!("connector: {}, reconnecting, remove later.", url); [INFO] [stdout] ... [INFO] [stdout] 252 | tracing::warn!("connector: {}, not found", url); [INFO] [stdout] 253 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:247:19 [INFO] [stdout] | [INFO] [stdout] 247 | while let Ok(conn) = 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/connector/udp_hole_punch.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:251:24 [INFO] [stdout] | [INFO] [stdout] 251 | if let Err(e) = peer_mgr.add_tunnel_as_server(conn).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/connector/udp_hole_punch.rs:256:21 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match peer_mgr.add_tunnel_as_server(conn).await { Err(e) => { [INFO] [stdout] 252 | tracing::error!( [INFO] [stdout] ... [INFO] [stdout] 255 | ); [INFO] [stdout] 256 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:810:16 [INFO] [stdout] | [INFO] [stdout] 810 | if let Ok(tunnel) = Self::try_connect_with_socket( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_________________________________| [INFO] [stdout] 811 | || Arc::new(UdpSocket::bind("0.0.0.0:0").await?), [INFO] [stdout] 812 | || remote_mapped_addr, [INFO] [stdout] 813 | || ) [INFO] [stdout] 814 | || .await [INFO] [stdout] | ||__________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |__________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:817:13 [INFO] [stdout] | [INFO] [stdout] 817 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 810 ~ match Self::try_connect_with_socket( [INFO] [stdout] 811 | Arc::new(UdpSocket::bind("0.0.0.0:0").await?), [INFO] [stdout] ... [INFO] [stdout] 814 | .await [INFO] [stdout] 815 ~ { Ok(tunnel) => { [INFO] [stdout] 816 | return Ok(tunnel); [INFO] [stdout] 817 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:884:19 [INFO] [stdout] | [INFO] [stdout] 884 | while let Some(socket) = udp_array.try_fetch_punched_socket(tid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | if let Ok(tunnel) = Self::try_connect_with_socket(socket, remote_mapped_addr).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/connector/udp_hole_punch.rs:888:17 [INFO] [stdout] | [INFO] [stdout] 888 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 885 ~ match Self::try_connect_with_socket(socket, remote_mapped_addr).await [INFO] [stdout] 886 ~ { Ok(tunnel) => { [INFO] [stdout] 887 | return Ok(tunnel); [INFO] [stdout] 888 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:961:20 [INFO] [stdout] | [INFO] [stdout] 961 | if let Some((_, task)) = punching_task.remove(&key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:972:17 [INFO] [stdout] | [INFO] [stdout] 972 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 961 ~ match punching_task.remove(&key) { Some((_, task)) => { [INFO] [stdout] 962 | task.abort(); [INFO] [stdout] ... [INFO] [stdout] 971 | } [INFO] [stdout] 972 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/icmp_proxy.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(_) = self.try_handle_peer_packet(&packet).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/gateway/icmp_proxy.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | } 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] 162 ~ match self.try_handle_peer_packet(&packet).await { Some(_) => { [INFO] [stdout] 163 | return None; [INFO] [stdout] 164 ~ } _ => { [INFO] [stdout] 165 | return Some(packet); [INFO] [stdout] 166 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/icmp_proxy.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | while let Some(msg) = receiver.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/gateway/icmp_proxy.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | if let Some(_) = self.try_handle_peer_packet(&mut packet).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/gateway/tcp_proxy.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | } 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] 201 ~ match self.try_handle_peer_packet(&mut packet).await { Some(_) => { [INFO] [stdout] 202 | if self [INFO] [stdout] ... [INFO] [stdout] 215 | return None; [INFO] [stdout] 216 ~ } _ => { [INFO] [stdout] 217 | Some(packet) [INFO] [stdout] 218 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:207:20 [INFO] [stdout] | [INFO] [stdout] 207 | if let Err(e) = smoltcp_stack_sender.try_send(packet) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | } [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 smoltcp_stack_sender.try_send(packet) { Err(e) => { [INFO] [stdout] 208 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 209 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:211:20 [INFO] [stdout] | [INFO] [stdout] 211 | if let Err(e) = self.peer_manager.get_nic_channel().send(packet).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/gateway/tcp_proxy.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] 211 ~ match self.peer_manager.get_nic_channel().send(packet).await { Err(e) => { [INFO] [stdout] 212 | tracing::error!("send to nic failed: {:?}", e); [INFO] [stdout] 213 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:249:24 [INFO] [stdout] | [INFO] [stdout] 249 | let entry = if let Some(entry) = self.addr_conn_map.get(&dst_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/gateway/tcp_proxy.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } 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] 249 ~ let entry = match self.addr_conn_map.get(&dst_addr) { Some(entry) => { [INFO] [stdout] 250 | entry [INFO] [stdout] 251 ~ } _ => { [INFO] [stdout] 252 | let Some(syn_entry) = self.syn_map.get(&dst_addr) else { [INFO] [stdout] ... [INFO] [stdout] 255 | syn_entry [INFO] [stdout] 256 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | while let Some(packet) = smoltcp_stack_receiver.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/gateway/tcp_proxy.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:381:24 [INFO] [stdout] | [INFO] [stdout] 381 | if let Err(e) = stack_sink.send(Ok(packet.payload().to_vec())).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/gateway/tcp_proxy.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 381 ~ match stack_sink.send(Ok(packet.payload().to_vec())).await { Err(e) => { [INFO] [stdout] 382 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 383 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:391:23 [INFO] [stdout] | [INFO] [stdout] 391 | while let Some(data) = stack_stream.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/gateway/tcp_proxy.rs:406:17 [INFO] [stdout] | [INFO] [stdout] 406 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:403:24 [INFO] [stdout] | [INFO] [stdout] 403 | if let Err(e) = peer_mgr.send_msg_ipv4(packet, dst).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/gateway/tcp_proxy.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 405 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 403 ~ match peer_mgr.send_msg_ipv4(packet, dst).await { Err(e) => { [INFO] [stdout] 404 | tracing::error!("send to peer failed in smoltcp sender: {:?}", e); [INFO] [stdout] 405 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:462:19 [INFO] [stdout] | [INFO] [stdout] 462 | while let Ok((tcp_stream, socket_addr)) = tcp_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/gateway/tcp_proxy.rs:491:13 [INFO] [stdout] | [INFO] [stdout] 491 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tokio_smoltcp/reactor.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 77 | while let (true, Some(Ok(p))) = ( [INFO] [stdout] | ___________________^ - [INFO] [stdout] | |_____________________________________________| [INFO] [stdout] 78 | || recv_buf.len() < max_burst_size, [INFO] [stdout] 79 | || async_iface.next().now_or_never().flatten(), [INFO] [stdout] 80 | || ) { [INFO] [stdout] | ||_____________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_____________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/tokio_smoltcp/reactor.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/udp_proxy.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | if let Some(_) = self.try_handle_packet(&packet).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/gateway/udp_proxy.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | } 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] 324 ~ match self.try_handle_packet(&packet).await { Some(_) => { [INFO] [stdout] 325 | return None; [INFO] [stdout] 326 ~ } _ => { [INFO] [stdout] 327 | return Some(packet); [INFO] [stdout] 328 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/udp_proxy.rs:386:19 [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(msg) = receiver.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/gateway/udp_proxy.rs:393:13 [INFO] [stdout] | [INFO] [stdout] 393 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:351:12 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(_auth) = self.config.auth.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:374:9 [INFO] [stdout] | [INFO] [stdout] 374 | } 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] 351 ~ match self.config.auth.as_ref() { Some(_auth) => { [INFO] [stdout] 352 | if client_methods.contains(&consts::SOCKS5_AUTH_METHOD_PASSWORD) { [INFO] [stdout] ... [INFO] [stdout] 373 | } [INFO] [stdout] 374 ~ } _ => { [INFO] [stdout] 375 | method_supported = consts::SOCKS5_AUTH_METHOD_NONE; [INFO] [stdout] 376 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:447:12 [INFO] [stdout] | [INFO] [stdout] 447 | if let Some(credentials) = auth.authenticate(credentials).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/gateway/fast_socks5/server.rs:459:9 [INFO] [stdout] | [INFO] [stdout] 459 | } 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] 447 ~ match auth.authenticate(credentials).await { Some(credentials) => { [INFO] [stdout] 448 | if auth_method == consts::SOCKS5_AUTH_METHOD_PASSWORD { [INFO] [stdout] ... [INFO] [stdout] 458 | return Ok(credentials); [INFO] [stdout] 459 ~ } _ => { [INFO] [stdout] 460 | self.inner [INFO] [stdout] ... [INFO] [stdout] 467 | ))); [INFO] [stdout] 468 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:140:19 [INFO] [stdout] | [INFO] [stdout] 140 | while let Some(packet) = smoltcp_stack_receiver.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/gateway/socks5.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:142:20 [INFO] [stdout] | [INFO] [stdout] 142 | if let Err(e) = stack_sink.send(Ok(packet.payload().to_vec())).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/gateway/socks5.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match stack_sink.send(Ok(packet.payload().to_vec())).await { Err(e) => { [INFO] [stdout] 143 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 144 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:151:19 [INFO] [stdout] | [INFO] [stdout] 151 | while let Some(data) = stack_stream.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/gateway/socks5.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | if let Err(e) = peer_manager.send_msg_ipv4(packet, dst).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/gateway/socks5.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 163 ~ match peer_manager.send_msg_ipv4(packet, dst).await { Err(e) => { [INFO] [stdout] 164 | tracing::error!("send to peer failed in smoltcp sender: {:?}", e); [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:247:20 [INFO] [stdout] | [INFO] [stdout] 247 | if let Some(entry) = self.2.lock().unwrap().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/gateway/socks5.rs:249:17 [INFO] [stdout] | [INFO] [stdout] 249 | } [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 self.2.lock().unwrap().take() { Some(entry) => { [INFO] [stdout] 248 | self.1.remove(&entry); [INFO] [stdout] 249 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:405:28 [INFO] [stdout] | [INFO] [stdout] 405 | if let Some(net) = net.lock().await.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:407:25 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 405 ~ match net.lock().await.as_ref() { Some(net) => { [INFO] [stdout] 406 | net.handle_tcp_stream(socket); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:223:19 [INFO] [stdout] | [INFO] [stdout] 223 | while let Some(packet) = packet_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/instance/instance.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:363:16 [INFO] [stdout] | [INFO] [stdout] 363 | if let Some(ipv4_addr) = self.global_ctx.get_ipv4() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 363 ~ match self.global_ctx.get_ipv4() { Some(ipv4_addr) => { [INFO] [stdout] 364 | let mut new_nic_ctx = NicCtx::new( [INFO] [stdout] ... [INFO] [stdout] 370 | Self::use_new_nic_ctx(self.nic_ctx.clone(), new_nic_ctx).await; [INFO] [stdout] 371 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:445:15 [INFO] [stdout] | [INFO] [stdout] 445 | while let Some(ret) = self.tasks.join_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/instance/instance.rs:448:9 [INFO] [stdout] | [INFO] [stdout] 448 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl VpnPortalRpc` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/instance/instance.rs:459:45 [INFO] [stdout] | [INFO] [stdout] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc { [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/instance/instance.rs:459:35 [INFO] [stdout] | [INFO] [stdout] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc { [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] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/listeners.rs:170:20 [INFO] [stdout] | [INFO] [stdout] 170 | if let Err(e) = &server_ret { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/listeners.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 170 ~ match &server_ret { Err(e) => { [INFO] [stdout] 171 | global_ctx.issue_event(GlobalCtxEvent::ConnectionError( [INFO] [stdout] ... [INFO] [stdout] 176 | tracing::error!(error = ?e, "handle conn error"); [INFO] [stdout] 177 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl IfConfiguerTrait` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:482:32 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait { [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/instance/virtual_nic.rs:482:22 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait { [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] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:524:12 [INFO] [stdout] | [INFO] [stdout] 524 | if let Some(ipv4) = Ipv4Packet::new(ret.payload()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | } 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] 524 ~ match Ipv4Packet::new(ret.payload()) { Some(ipv4) => { [INFO] [stdout] 525 | if ipv4.get_version() != 4 { [INFO] [stdout] ... [INFO] [stdout] 539 | } [INFO] [stdout] 540 ~ } _ => { [INFO] [stdout] 541 | tracing::warn!(?ret, "[USER_PACKET] not ipv4 packet"); [INFO] [stdout] 542 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:554:19 [INFO] [stdout] | [INFO] [stdout] 554 | while let Some(ret) = stream.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/instance/virtual_nic.rs:560:13 [INFO] [stdout] | [INFO] [stdout] 560 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:571:19 [INFO] [stdout] | [INFO] [stdout] 571 | while let Some(packet) = channel.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/instance/virtual_nic.rs:580:13 [INFO] [stdout] | [INFO] [stdout] 580 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | ... if let Some((_, conn)) = conns_copy.remove(&ret) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match conns_copy.remove(&ret) { Some((_, conn)) => { [INFO] [stdout] 71 | global_ctx_copy.issue_event(GlobalCtxEvent::PeerConnRemoved( [INFO] [stdout] 72 | conn.get_conn_info(), [INFO] [stdout] 73 | )); [INFO] [stdout] 74 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:254:23 [INFO] [stdout] | [INFO] [stdout] 254 | while let Some(ret) = stream.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/peers/peer_conn.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:272:28 [INFO] [stdout] | [INFO] [stdout] 272 | if let Err(e) = sink.send(zc_packet).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/peers/peer_conn.rs:274:25 [INFO] [stdout] | [INFO] [stdout] 274 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 272 ~ match sink.send(zc_packet).await { Err(e) => { [INFO] [stdout] 273 | tracing::error!(?e, "peer conn send req error"); [INFO] [stdout] 274 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:276:28 [INFO] [stdout] | [INFO] [stdout] 276 | if let Err(e) = ctrl_sender.send(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_conn.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 276 ~ match ctrl_sender.send(zc_packet) { Err(e) => { [INFO] [stdout] 277 | tracing::error!(?e, "peer conn send ctrl resp error"); [INFO] [stdout] 278 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | while let Some(ret) = ping_res_receiver.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/peers/peer_conn_ping.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | if let Ok(lat) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_conn_ping.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ match ret { Ok(lat) => { [INFO] [stdout] 181 | latency_stats.record_latency(lat as u32); [INFO] [stdout] ... [INFO] [stdout] 184 | loss_rate_stats_20.record_latency(0); [INFO] [stdout] 185 ~ } _ => { [INFO] [stdout] 186 | loss_rate_stats_1.record_latency(1); [INFO] [stdout] 187 | loss_rate_stats_20.record_latency(1); [INFO] [stdout] 188 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(gateway_id) = peers [INFO] [stdout] | ____________^ [INFO] [stdout] 79 | | .get_gateway_peer_id(dst_peer_id, NextHopPolicy::LeastHop) [INFO] [stdout] 80 | | .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/peers/peer_manager.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } else if foreign_peers.has_next_hop(dst_peer_id) { [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 ~ match peers [INFO] [stdout] 79 | .get_gateway_peer_id(dst_peer_id, NextHopPolicy::LeastHop) [INFO] [stdout] 80 | .await [INFO] [stdout] 81 ~ { Some(gateway_id) => { [INFO] [stdout] 82 | tracing::trace!( [INFO] [stdout] ... [INFO] [stdout] 91 | peers.send_msg_directly(msg, gateway_id).await [INFO] [stdout] 92 ~ } _ => if foreign_peers.has_next_hop(dst_peer_id) { [INFO] [stdout] 93 | if !foreign_peers.is_peer_public_node(&dst_peer_id) { [INFO] [stdout] ... [INFO] [stdout] 109| )))) [INFO] [stdout] 110~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some(o) = self.packet_recv.lock().await.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/peers/peer_manager.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match self.packet_recv.lock().await.recv().await { Some(o) => { [INFO] [stdout] 115 | Ok(o) [INFO] [stdout] 116 ~ } _ => { [INFO] [stdout] 117 | Err(Error::Unknown) [INFO] [stdout] 118 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:337:19 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(mut ret) = 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/peers/peer_manager.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:569:12 [INFO] [stdout] | [INFO] [stdout] 569 | if let Some(gateway) = peers.get_gateway_peer_id(dst_peer_id, policy).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/peers/peer_manager.rs:571:9 [INFO] [stdout] | [INFO] [stdout] 571 | } else if foreign_network_client.has_next_hop(dst_peer_id) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 569 ~ match peers.get_gateway_peer_id(dst_peer_id, policy).await { Some(gateway) => { [INFO] [stdout] 570 | peers.send_msg_directly(msg, gateway).await [INFO] [stdout] 571 ~ } _ => if foreign_network_client.has_next_hop(dst_peer_id) { [INFO] [stdout] 572 | foreign_network_client.send_msg(msg, dst_peer_id).await [INFO] [stdout] 573 | } else { [INFO] [stdout] 574 | Err(Error::RouteError(None)) [INFO] [stdout] 575 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:596:19 [INFO] [stdout] | [INFO] [stdout] 596 | } else if let Some(peer_id) = self.peers.get_peer_id_by_ipv4(&ipv4_addr).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/peers/peer_manager.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | } 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] 596 ~ } else { match self.peers.get_peer_id_by_ipv4(&ipv4_addr).await { Some(peer_id) => { [INFO] [stdout] 597 | dst_peers.push(peer_id); [INFO] [stdout] 598 ~ } _ => { [INFO] [stdout] 599 | for exit_node in &self.exit_nodes { [INFO] [stdout] ... [INFO] [stdout] 605 | } [INFO] [stdout] 606 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:600:20 [INFO] [stdout] | [INFO] [stdout] 600 | if let Some(peer_id) = self.peers.get_peer_id_by_ipv4(exit_node).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/peers/peer_manager.rs:604:17 [INFO] [stdout] | [INFO] [stdout] 604 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 600 ~ match self.peers.get_peer_id_by_ipv4(exit_node).await { Some(peer_id) => { [INFO] [stdout] 601 | dst_peers.push(peer_id); [INFO] [stdout] 602 | is_exit_node = true; [INFO] [stdout] 603 | break; [INFO] [stdout] 604 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:647:16 [INFO] [stdout] | [INFO] [stdout] 647 | if let Some(gateway) = self [INFO] [stdout] | ________________^ [INFO] [stdout] 648 | | .peers [INFO] [stdout] 649 | | .get_gateway_peer_id(*peer_id, next_hop_policy.clone()) [INFO] [stdout] 650 | | .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/peers/peer_manager.rs:655:13 [INFO] [stdout] | [INFO] [stdout] 655 | } else if self.foreign_network_client.has_next_hop(*peer_id) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 647 ~ match self [INFO] [stdout] 648 | .peers [INFO] [stdout] 649 | .get_gateway_peer_id(*peer_id, next_hop_policy.clone()) [INFO] [stdout] 650 | .await [INFO] [stdout] 651 ~ { Some(gateway) => { [INFO] [stdout] 652 | if let Err(e) = self.peers.send_msg_directly(msg, gateway).await { [INFO] [stdout] 653 | errs.push(e); [INFO] [stdout] 654 | } [INFO] [stdout] 655 ~ } _ => if self.foreign_network_client.has_next_hop(*peer_id) { [INFO] [stdout] 656 | if let Err(e) = self.foreign_network_client.send_msg(msg, *peer_id).await { [INFO] [stdout] 657 | errs.push(e); [INFO] [stdout] 658 | } [INFO] [stdout] 659 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:652:20 [INFO] [stdout] | [INFO] [stdout] 652 | if let Err(e) = self.peers.send_msg_directly(msg, gateway).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/peers/peer_manager.rs:654:17 [INFO] [stdout] | [INFO] [stdout] 654 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 652 ~ match self.peers.send_msg_directly(msg, gateway).await { Err(e) => { [INFO] [stdout] 653 | errs.push(e); [INFO] [stdout] 654 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_manager.rs:656:20 [INFO] [stdout] | [INFO] [stdout] 656 | if let Err(e) = self.foreign_network_client.send_msg(msg, *peer_id).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/peers/peer_manager.rs:658:17 [INFO] [stdout] | [INFO] [stdout] 658 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 656 ~ match self.foreign_network_client.send_msg(msg, *peer_id).await { Err(e) => { [INFO] [stdout] 657 | errs.push(e); [INFO] [stdout] 658 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 112 | if let Some(gateway_peer_id) = route [INFO] [stdout] | ________________^ [INFO] [stdout] 113 | | .get_next_hop_with_policy(dst_peer_id, policy.clone()) [INFO] [stdout] 114 | | .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/peers/peer_map.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 ~ match route [INFO] [stdout] 113 | .get_next_hop_with_policy(dst_peer_id, policy.clone()) [INFO] [stdout] 114 | .await [INFO] [stdout] 115 ~ { Some(gateway_peer_id) => { [INFO] [stdout] 116 | // for foreign network, gateway_peer_id may not connect to me [INFO] [stdout] ... [INFO] [stdout] 119 | } [INFO] [stdout] 120 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(p) = self.get_peer_by_id(peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 181 ~ match self.get_peer_by_id(peer_id) { Some(p) => { [INFO] [stdout] 182 | Some(p.list_peer_conns().await) [INFO] [stdout] 183 ~ } _ => { [INFO] [stdout] 184 | return None; [INFO] [stdout] 185 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | if let Some(p) = self.get_peer_by_id(peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_map.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } 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] 193 ~ match self.get_peer_by_id(peer_id) { Some(p) => { [INFO] [stdout] 194 | p.close_peer_conn(conn_id).await [INFO] [stdout] 195 ~ } _ => { [INFO] [stdout] 196 | return Err(Error::NotFound); [INFO] [stdout] 197 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:621:12 [INFO] [stdout] | [INFO] [stdout] 621 | if let Some(old) = self.task.lock().unwrap().replace(task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:623:9 [INFO] [stdout] | [INFO] [stdout] 623 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 621 ~ match self.task.lock().unwrap().replace(task) { Some(old) => { [INFO] [stdout] 622 | old.abort(); [INFO] [stdout] 623 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:627:12 [INFO] [stdout] | [INFO] [stdout] 627 | if let Some(task) = self.task.lock().unwrap().as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | } 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] 627 ~ match self.task.lock().unwrap().as_ref() { Some(task) => { [INFO] [stdout] 628 | !task.is_finished() [INFO] [stdout] 629 ~ } _ => { [INFO] [stdout] 630 | false [INFO] [stdout] 631 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:637:12 [INFO] [stdout] | [INFO] [stdout] 637 | if let Some(task) = self.task.lock().unwrap().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/peers/peer_ospf_route.rs:639:9 [INFO] [stdout] | [INFO] [stdout] 639 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 637 ~ match self.task.lock().unwrap().take() { Some(task) => { [INFO] [stdout] 638 | task.abort(); [INFO] [stdout] 639 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:998:16 [INFO] [stdout] | [INFO] [stdout] 998 | if let Ok(d) = now.duration_since(item.value().last_update) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1002:13 [INFO] [stdout] | [INFO] [stdout] 1002 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 998 ~ match now.duration_since(item.value().last_update) { Ok(d) => { [INFO] [stdout] 999 | if d > REMOVE_DEAD_PEER_INFO_AFTER { [INFO] [stdout] 1000 | to_remove.push(*item.key()); [INFO] [stdout] 1001 | } [INFO] [stdout] 1002 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1305:24 [INFO] [stdout] | [INFO] [stdout] 1305 | if let Some(session) = service_impl.get_session(cur_peer_id_to_initiate) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1307:21 [INFO] [stdout] | [INFO] [stdout] 1307 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1305 ~ match service_impl.get_session(cur_peer_id_to_initiate) { Some(session) => { [INFO] [stdout] 1306 | session.update_initiator_flag(false); [INFO] [stdout] 1307 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1321:20 [INFO] [stdout] | [INFO] [stdout] 1321 | if let Some(session) = service_impl.get_session(*peer_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_ospf_route.rs:1331:17 [INFO] [stdout] | [INFO] [stdout] 1331 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1321 ~ match service_impl.get_session(*peer_id) { Some(session) => { [INFO] [stdout] 1322 | if (session.dst_is_initiator.load(Ordering::Relaxed) [INFO] [stdout] ... [INFO] [stdout] 1330 | assert_ne!(Some(*peer_id), cur_dst_peer_id_to_initiate); [INFO] [stdout] 1331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | ... if let Err(e) = tspt.send(msg, peer_id).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/peers/peer_rpc.rs:239:33 [INFO] [stdout] | [INFO] [stdout] 239 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 236 ~ match tspt.send(msg, peer_id).await { Err(e) => { [INFO] [stdout] 237 | tracing::error!(error = ?e, peer_id = ?peer_id, service_id = ?service_id, "send resp to peer failed"); [INFO] [stdout] 238 | break; [INFO] [stdout] 239 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:271:32 [INFO] [stdout] | [INFO] [stdout] 271 | ... if let Err(e) = client_transport.send(decoded).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/peers/peer_rpc.rs:273:29 [INFO] [stdout] | [INFO] [stdout] 273 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 271 ~ match client_transport.send(decoded).await { Err(e) => { [INFO] [stdout] 272 | tracing::error!(error = ?e, "send to req to client transport failed"); [INFO] [stdout] 273 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:400:24 [INFO] [stdout] | [INFO] [stdout] 400 | if let Some(a) = client_resp_receivers.get(&PeerRpcClientCtxKey( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |______________________________________| [INFO] [stdout] 401 | || info.from_peer, [INFO] [stdout] 402 | || info.service_id, [INFO] [stdout] 403 | || info.transact_id, [INFO] [stdout] 404 | || )) { [INFO] [stdout] | ||______________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | } 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] 400 ~ match client_resp_receivers.get(&PeerRpcClientCtxKey( [INFO] [stdout] 401 | info.from_peer, [INFO] [stdout] 402 | info.service_id, [INFO] [stdout] 403 | info.transact_id, [INFO] [stdout] 404 ~ )) { Some(a) => { [INFO] [stdout] 405 | tracing::trace!("recv resp: {:?}", info); [INFO] [stdout] ... [INFO] [stdout] 408 | } [INFO] [stdout] 409 ~ } _ => { [INFO] [stdout] 410 | tracing::warn!("client resp receiver not found, info: {:?}", info); [INFO] [stdout] 411 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:406:28 [INFO] [stdout] | [INFO] [stdout] 406 | if let Err(e) = a.send(o) { [INFO] [stdout] | ^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:408:25 [INFO] [stdout] | [INFO] [stdout] 408 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 406 ~ match a.send(o) { Err(e) => { [INFO] [stdout] 407 | tracing::error!(error = ?e, "send resp to client failed"); [INFO] [stdout] 408 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:464:19 [INFO] [stdout] | [INFO] [stdout] 464 | while let Some(a) = server_r.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/peers/peer_rpc.rs:493:13 [INFO] [stdout] | [INFO] [stdout] 493 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:488:24 [INFO] [stdout] | [INFO] [stdout] 488 | if let Err(e) = tspt.send(packet, dst_peer_id).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/peers/peer_rpc.rs:491:21 [INFO] [stdout] | [INFO] [stdout] 491 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 488 ~ match tspt.send(packet, dst_peer_id).await { Err(e) => { [INFO] [stdout] 489 | tracing::error!(error = ?e, dst_peer_id = ?dst_peer_id, "send to peer failed"); [INFO] [stdout] 490 | break; [INFO] [stdout] 491 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:500:19 [INFO] [stdout] | [INFO] [stdout] 500 | while let Some(packet) = packet_receiver.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/peers/peer_rpc.rs:527:13 [INFO] [stdout] | [INFO] [stdout] 527 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/peer_rpc.rs:524:20 [INFO] [stdout] | [INFO] [stdout] 524 | if let Err(e) = server_s.send(decoded.unwrap()).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/peers/peer_rpc.rs:526:17 [INFO] [stdout] | [INFO] [stdout] 526 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 524 ~ match server_s.send(decoded.unwrap()).await { Err(e) => { [INFO] [stdout] 525 | tracing::error!(error = ?e, "send to rpc server channel failed"); [INFO] [stdout] 526 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_client.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(join_ret) = tasks.join_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/peers/foreign_network_client.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(o) = self.packet_recv.lock().await.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/peers/foreign_network_manager.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 124 ~ match self.packet_recv.lock().await.recv().await { Some(o) => { [INFO] [stdout] 125 | Ok(o) [INFO] [stdout] 126 ~ } _ => { [INFO] [stdout] 127 | Err(Error::Unknown) [INFO] [stdout] 128 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:265:19 [INFO] [stdout] | [INFO] [stdout] 265 | while let Ok(e) = s.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/peers/foreign_network_manager.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:272:19 [INFO] [stdout] | [INFO] [stdout] 272 | while let Some(e) = ev_rx.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/peers/foreign_network_manager.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:292:19 [INFO] [stdout] | [INFO] [stdout] 292 | while let Some(packet_bytes) = 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/peers/foreign_network_manager.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:304:24 [INFO] [stdout] | [INFO] [stdout] 304 | if let Err(e) = sender_to_mgr.send(packet_bytes).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/peers/foreign_network_manager.rs:306:21 [INFO] [stdout] | [INFO] [stdout] 306 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 304 ~ match sender_to_mgr.send(packet_bytes).await { Err(e) => { [INFO] [stdout] 305 | tracing::error!("send packet to mgr failed: {:?}", e); [INFO] [stdout] 306 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:318:24 [INFO] [stdout] | [INFO] [stdout] 318 | if let Some(entry) = data.get_network_entry(&from_network) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/peers/foreign_network_manager.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | } 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] 318 ~ match data.get_network_entry(&from_network) { Some(entry) => { [INFO] [stdout] 319 | if !entry.relay_data && hdr.packet_type == PacketType::Data as u8 { [INFO] [stdout] ... [INFO] [stdout] 329 | } [INFO] [stdout] 330 ~ } _ => { [INFO] [stdout] 331 | tracing::error!("foreign network not found: {}", from_network); [INFO] [stdout] 332 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:150:19 [INFO] [stdout] | [INFO] [stdout] 150 | while let Some(packet) = [INFO] [stdout] | ___________________^ [INFO] [stdout] 151 | | Self::extract_one_packet(self_mut.buf, *self_mut.max_packet_size) [INFO] [stdout] | |_________________----------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:401:11 [INFO] [stdout] | [INFO] [stdout] 401 | while let Some(ret) = futures.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/tunnel/common.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 404 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match ret { Err(e) => { [INFO] [stdout] 403 | last_err = Some(e.into()); [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | return ret.map_err(|e| e.into()); [INFO] [stdout] 406 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:444:19 [INFO] [stdout] | [INFO] [stdout] 444 | while let Some(item) = 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/tunnel/common.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/common.rs:448:20 [INFO] [stdout] | [INFO] [stdout] 448 | if let Err(_) = send.send(msg).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/tunnel/common.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 448 ~ match send.send(msg).await { Err(_) => { [INFO] [stdout] 449 | break; [INFO] [stdout] 450 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl tunnel::ZCPacketSink` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/tunnel/filter.rs:100:72 [INFO] [stdout] | [INFO] [stdout] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink { [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/tunnel/filter.rs:100:53 [INFO] [stdout] | [INFO] [stdout] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink { [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] 100 | fn wrap_sink(&self, sink: S) -> impl ZCPacketSink + use { [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl tunnel::ZCPacketStream` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/tunnel/filter.rs:151:78 [INFO] [stdout] | [INFO] [stdout] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream { [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/tunnel/filter.rs:151:57 [INFO] [stdout] | [INFO] [stdout] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream { [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] 151 | fn wrap_stream(&self, stream: S) -> impl ZCPacketStream + use { [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | if let Err(e) = Self::forward_one_round(&mut rx, &mut sink).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/tunnel/mpsc.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match Self::forward_one_round(&mut rx, &mut sink).await { Err(e) => { [INFO] [stdout] 41 | tracing::error!(?e, "forward error"); [INFO] [stdout] 42 | break; [INFO] [stdout] 43 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | while let Ok(item) = rx.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/tunnel/mpsc.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | if let Err(e) = sink.feed(item).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/tunnel/mpsc.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match sink.feed(item).await { Err(e) => { [INFO] [stdout] 65 | tracing::error!(?e, "feed error"); [INFO] [stdout] 66 | break; [INFO] [stdout] 67 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/mpsc.rs:112:19 [INFO] [stdout] | [INFO] [stdout] 112 | while let Some(Ok(msg)) = stream.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/tunnel/mpsc.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if let Some(w) = self.wait_for_new_item.take(Ordering::AcqRel) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 65 ~ match self.wait_for_new_item.take(Ordering::AcqRel) { Some(w) => { [INFO] [stdout] 66 | tracing::trace!(?self.id, "notify new item"); [INFO] [stdout] 67 | w.wake(); [INFO] [stdout] 68 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | if let Some(w) = self.wait_for_empty_slot.take(Ordering::AcqRel) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/ring.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 72 ~ match self.wait_for_empty_slot.take(Ordering::AcqRel) { Some(w) => { [INFO] [stdout] 73 | tracing::trace!(?self.id, "notify empty slot"); [INFO] [stdout] 74 | w.wake(); [INFO] [stdout] 75 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:209:16 [INFO] [stdout] | [INFO] [stdout] 209 | if let Err(e) = close_event_sender.send((dst_addr, err)) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 209 ~ match close_event_sender.send((dst_addr, err)) { Err(e) => { [INFO] [stdout] 210 | tracing::error!(?e, "udp send close event error"); [INFO] [stdout] 211 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:327:12 [INFO] [stdout] | [INFO] [stdout] 327 | if let Err(e) = self.conn_send.send(conn).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/tunnel/udp.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 327 ~ match self.conn_send.send(conn).await { Err(e) => { [INFO] [stdout] 328 | tracing::warn!(?e, "udp send conn to accept channel error"); [INFO] [stdout] 329 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:341:16 [INFO] [stdout] | [INFO] [stdout] 341 | if let Err(e) = conn.handle_packet_from_remote(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 341 ~ match conn.handle_packet_from_remote(zc_packet) { Err(e) => { [INFO] [stdout] 342 | tracing::trace!(?e, "udp forward packet error"); [INFO] [stdout] 343 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:418:19 [INFO] [stdout] | [INFO] [stdout] 418 | while let Some((dst_addr, err)) = close_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/tunnel/udp.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:433:15 [INFO] [stdout] | [INFO] [stdout] 433 | while let Some(conn) = self.conn_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/tunnel/udp.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:589:28 [INFO] [stdout] | [INFO] [stdout] 589 | if let Err(e) = udp_conn.handle_packet_from_remote(zc_packet) { [INFO] [stdout] | ^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/udp.rs:591:25 [INFO] [stdout] | [INFO] [stdout] 591 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 589 ~ match udp_conn.handle_packet_from_remote(zc_packet) { Err(e) => { [INFO] [stdout] 590 | tracing::trace!(?e, ?addr, "udp forward packet error"); [INFO] [stdout] 591 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:376:15 [INFO] [stdout] | [INFO] [stdout] 376 | while let Some(Ok(packet)) = stream.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/tunnel/wireguard.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:378:16 [INFO] [stdout] | [INFO] [stdout] 378 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:380:13 [INFO] [stdout] | [INFO] [stdout] 380 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 378 ~ match ret { Err(e) => { [INFO] [stdout] 379 | tracing::error!("Failed to handle packet from me: {}", e); [INFO] [stdout] 380 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tunnel/wireguard.rs:578:15 [INFO] [stdout] | [INFO] [stdout] 578 | while let Some(tunnel) = self.conn_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/tunnel/wireguard.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:177:23 [INFO] [stdout] | [INFO] [stdout] 177 | while let Ok(lf) = recver.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/utils.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:179:28 [INFO] [stdout] | [INFO] [stdout] 179 | if let Ok(nf) = EnvFilter::builder() [INFO] [stdout] | ____________________________^ - [INFO] [stdout] | |_________________________________________| [INFO] [stdout] 180 | || .with_default_directive(lf.parse::().unwrap().into()) [INFO] [stdout] 181 | || .from_env() [INFO] [stdout] 182 | || .with_context(|| "failed to create file filter") [INFO] [stdout] | ||____________________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |____________________________________________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match EnvFilter::builder() [INFO] [stdout] 180 | .with_default_directive(lf.parse::().unwrap().into()) [INFO] [stdout] 181 | .from_env() [INFO] [stdout] 182 | .with_context(|| "failed to create file filter") [INFO] [stdout] 183 ~ { Ok(nf) => { [INFO] [stdout] 184 | println!("Reload log filter succeed, new filter level: {:?}", lf); [INFO] [stdout] 185 | *f = nf; [INFO] [stdout] 186 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vpn_portal/wireguard.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | while let Some(Ok(msg)) = stream.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/vpn_portal/wireguard.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vpn_portal/wireguard.rs:196:19 [INFO] [stdout] | [INFO] [stdout] 196 | while let Ok(t) = l.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/vpn_portal/wireguard.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 124 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/easytier-cli.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `easytier_core` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/common/constants.rs [INFO] [stderr] * src/common/stun_codec_ext.rs [INFO] [stderr] * src/gateway/fast_socks5/mod.rs [INFO] [stderr] * src/gateway/fast_socks5/util/stream.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/common/constants.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | ($name:ident, $type:ty, $init: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/common/constants.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | ($name:ident, $val: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/common/stun_codec_ext.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | ($decoder:ty, $item:ident, $and_then: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/common/stun_codec_ext.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | ($encoder:ty, $item:ty, $map_from: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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connector/udp_hole_punch.rs:820:38 [INFO] [stdout] | [INFO] [stdout] 820 | let tid = rand::thread_rng().gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/gateway/fast_socks5/util/stream.rs:29:6 [INFO] [stderr] | [INFO] [stderr] 29 | ($stream: expr_2021, $array: 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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/common/constants.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | ($name:ident, $type:ty, $init: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] 2 | ($name:ident, $type:ty, $init: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/common/constants.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | ($name:ident, $val: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] 17 | ($name:ident, $val:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/gateway/fast_socks5/util/stream.rs:29:26 [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/common/stun_codec_ext.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | ($decoder:ty, $item:ident, $and_then: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] 17 | ($decoder:ty, $item:ident, $and_then:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 29 | ($stream: expr_2021, $array: 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] warning: unexpected `cfg` condition value: `socks4` [INFO] [stderr] --> src/gateway/fast_socks5/mod.rs:190:11 [INFO] [stderr] | [INFO] [stderr] 190 | #[cfg(feature = "socks4")] [INFO] [stderr] | ^^^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: there is a expected value with a similar name: `"socks5"` [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `aes-gcm`, `default`, `full`, `mimalloc`, `mips`, `quic`, `smoltcp`, `socks5`, `tun`, `websocket`, and `wireguard` [INFO] [stderr] = help: consider adding `socks4` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors; 1 warning emitted [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/common/stun_codec_ext.rs:48:39 [INFO] [stdout] | [INFO] [stdout] 48 | ($encoder:ty, $item:ty, $map_from: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] 48 | ($encoder:ty, $item:ty, $map_from:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `socks4` [INFO] [stdout] --> src/gateway/fast_socks5/mod.rs:190:11 [INFO] [stdout] | [INFO] [stdout] 190 | #[cfg(feature = "socks4")] [INFO] [stdout] | ^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"socks5"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `aes-gcm`, `default`, `full`, `mimalloc`, `mips`, `quic`, `smoltcp`, `socks5`, `tun`, `websocket`, and `wireguard` [INFO] [stdout] = help: consider adding `socks4` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gateway/fast_socks5/util/stream.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | ($stream: expr, $array: 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] 29 | ($stream: expr_2021, $array: expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/gateway/fast_socks5/util/stream.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | ($stream: expr, $array: 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] 29 | ($stream: expr, $array: expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/easytier-core.rs:560:15 [INFO] [stdout] | [INFO] [stdout] 560 | while let Ok(e) = events.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/easytier-core.rs:660:9 [INFO] [stdout] | [INFO] [stdout] 660 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/config.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 352 | if let Some(proxy_cidrs) = &mut locked_config.proxy_network { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/config.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 352 ~ match &mut locked_config.proxy_network { Some(proxy_cidrs) => { [INFO] [stdout] 353 | let cidr_str = cidr.to_string(); [INFO] [stdout] 354 | proxy_cidrs.retain(|c| c.cidr != cidr_str); [INFO] [stdout] 355 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:337:15 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(_) = self.task_set.join_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/common/stun.rs:337:62 [INFO] [stdout] | [INFO] [stdout] 337 | while let Some(_) = self.task_set.join_next().await {} [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:507:15 [INFO] [stdout] | [INFO] [stdout] 507 | while let Some(addr) = host_resolver.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/common/stun.rs:509:9 [INFO] [stdout] | [INFO] [stdout] 509 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:533:15 [INFO] [stdout] | [INFO] [stdout] 533 | while let Some(resp) = stun_task_set.join_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/common/stun.rs:537:9 [INFO] [stdout] | [INFO] [stdout] 537 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:534:16 [INFO] [stdout] | [INFO] [stdout] 534 | if let Ok(Ok(resp)) = resp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/stun.rs:536:13 [INFO] [stdout] | [INFO] [stdout] 536 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 534 ~ match resp { Ok(Ok(resp)) => { [INFO] [stdout] 535 | bind_resps.push(resp); [INFO] [stdout] 536 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/common/stun.rs:695:24 [INFO] [stdout] | [INFO] [stdout] 695 | if let Ok(resp) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/common/stun.rs:699:21 [INFO] [stdout] | [INFO] [stdout] 699 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 695 ~ match ret { Ok(resp) => { [INFO] [stdout] 696 | udp_nat_test_result.write().unwrap().as_mut().map(|x| { [INFO] [stdout] 697 | x.extend_result(resp); [INFO] [stdout] 698 | }); [INFO] [stdout] 699 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:154:27 [INFO] [stdout] | [INFO] [stdout] 154 | while let Some(task_ret) = tasks.join_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/connector/direct.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 212 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | } 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] 212 ~ match ret { Err(e) => { [INFO] [stdout] 213 | if !matches!(e, Error::UrlInBlacklist) { [INFO] [stdout] ... [INFO] [stdout] 225 | return Err(e); [INFO] [stdout] 226 ~ } _ => { [INFO] [stdout] 227 | tracing::info!("try_connect_to_ip success, peer_id: {}", dst_peer_id); [INFO] [stdout] 228 | return Ok(()); [INFO] [stdout] 229 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:319:15 [INFO] [stdout] | [INFO] [stdout] 319 | while let Some(ret) = tasks.join_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/connector/direct.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:320:16 [INFO] [stdout] | [INFO] [stdout] 320 | if let Err(e) = ret { [INFO] [stdout] | ^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 321 | tracing::error!("join direct connect task failed: {:?}", e); [INFO] [stdout] 322 | } else if let Ok(Ok(_)) = ret { [INFO] [stdout] | --- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | } else if let Ok(Ok(_)) = ret { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/direct.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 320 ~ match ret { Err(e) => { [INFO] [stdout] 321 | tracing::error!("join direct connect task failed: {:?}", e); [INFO] [stdout] 322 ~ } _ => { match ret { Ok(Ok(_)) => { [INFO] [stdout] 323 | has_succ = true; [INFO] [stdout] 324 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/manual.rs:244:16 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(_) = data.connectors.remove(url) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/manual.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | } else if data.reconnecting.contains(url) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 244 ~ match data.connectors.remove(url) { Some(_) => { [INFO] [stdout] 245 | tracing::warn!("connector: {}, removed", url); [INFO] [stdout] 246 | continue; [INFO] [stdout] 247 ~ } _ => if data.reconnecting.contains(url) { [INFO] [stdout] 248 | tracing::warn!("connector: {}, reconnecting, remove later.", url); [INFO] [stdout] ... [INFO] [stdout] 252 | tracing::warn!("connector: {}, not found", url); [INFO] [stdout] 253 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:247:19 [INFO] [stdout] | [INFO] [stdout] 247 | while let Ok(conn) = 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/connector/udp_hole_punch.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:251:24 [INFO] [stdout] | [INFO] [stdout] 251 | if let Err(e) = peer_mgr.add_tunnel_as_server(conn).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/connector/udp_hole_punch.rs:256:21 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match peer_mgr.add_tunnel_as_server(conn).await { Err(e) => { [INFO] [stdout] 252 | tracing::error!( [INFO] [stdout] ... [INFO] [stdout] 255 | ); [INFO] [stdout] 256 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:810:16 [INFO] [stdout] | [INFO] [stdout] 810 | if let Ok(tunnel) = Self::try_connect_with_socket( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_________________________________| [INFO] [stdout] 811 | || Arc::new(UdpSocket::bind("0.0.0.0:0").await?), [INFO] [stdout] 812 | || remote_mapped_addr, [INFO] [stdout] 813 | || ) [INFO] [stdout] 814 | || .await [INFO] [stdout] | ||__________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |__________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:817:13 [INFO] [stdout] | [INFO] [stdout] 817 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 810 ~ match Self::try_connect_with_socket( [INFO] [stdout] 811 | Arc::new(UdpSocket::bind("0.0.0.0:0").await?), [INFO] [stdout] ... [INFO] [stdout] 814 | .await [INFO] [stdout] 815 ~ { Ok(tunnel) => { [INFO] [stdout] 816 | return Ok(tunnel); [INFO] [stdout] 817 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:884:19 [INFO] [stdout] | [INFO] [stdout] 884 | while let Some(socket) = udp_array.try_fetch_punched_socket(tid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | if let Ok(tunnel) = Self::try_connect_with_socket(socket, remote_mapped_addr).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/connector/udp_hole_punch.rs:888:17 [INFO] [stdout] | [INFO] [stdout] 888 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 885 ~ match Self::try_connect_with_socket(socket, remote_mapped_addr).await [INFO] [stdout] 886 ~ { Ok(tunnel) => { [INFO] [stdout] 887 | return Ok(tunnel); [INFO] [stdout] 888 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:961:20 [INFO] [stdout] | [INFO] [stdout] 961 | if let Some((_, task)) = punching_task.remove(&key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connector/udp_hole_punch.rs:972:17 [INFO] [stdout] | [INFO] [stdout] 972 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 961 ~ match punching_task.remove(&key) { Some((_, task)) => { [INFO] [stdout] 962 | task.abort(); [INFO] [stdout] ... [INFO] [stdout] 971 | } [INFO] [stdout] 972 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/icmp_proxy.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(_) = self.try_handle_peer_packet(&packet).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/gateway/icmp_proxy.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | } 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] 162 ~ match self.try_handle_peer_packet(&packet).await { Some(_) => { [INFO] [stdout] 163 | return None; [INFO] [stdout] 164 ~ } _ => { [INFO] [stdout] 165 | return Some(packet); [INFO] [stdout] 166 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/icmp_proxy.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | while let Some(msg) = receiver.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/gateway/icmp_proxy.rs:260:17 [INFO] [stdout] | [INFO] [stdout] 260 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | if let Some(_) = self.try_handle_peer_packet(&mut packet).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/gateway/tcp_proxy.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | } 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] 201 ~ match self.try_handle_peer_packet(&mut packet).await { Some(_) => { [INFO] [stdout] 202 | if self [INFO] [stdout] ... [INFO] [stdout] 215 | return None; [INFO] [stdout] 216 ~ } _ => { [INFO] [stdout] 217 | Some(packet) [INFO] [stdout] 218 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:207:20 [INFO] [stdout] | [INFO] [stdout] 207 | if let Err(e) = smoltcp_stack_sender.try_send(packet) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | } [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 smoltcp_stack_sender.try_send(packet) { Err(e) => { [INFO] [stdout] 208 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 209 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:211:20 [INFO] [stdout] | [INFO] [stdout] 211 | if let Err(e) = self.peer_manager.get_nic_channel().send(packet).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/gateway/tcp_proxy.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] 211 ~ match self.peer_manager.get_nic_channel().send(packet).await { Err(e) => { [INFO] [stdout] 212 | tracing::error!("send to nic failed: {:?}", e); [INFO] [stdout] 213 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:249:24 [INFO] [stdout] | [INFO] [stdout] 249 | let entry = if let Some(entry) = self.addr_conn_map.get(&dst_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/gateway/tcp_proxy.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } 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] 249 ~ let entry = match self.addr_conn_map.get(&dst_addr) { Some(entry) => { [INFO] [stdout] 250 | entry [INFO] [stdout] 251 ~ } _ => { [INFO] [stdout] 252 | let Some(syn_entry) = self.syn_map.get(&dst_addr) else { [INFO] [stdout] ... [INFO] [stdout] 255 | syn_entry [INFO] [stdout] 256 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | while let Some(packet) = smoltcp_stack_receiver.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/gateway/tcp_proxy.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:381:24 [INFO] [stdout] | [INFO] [stdout] 381 | if let Err(e) = stack_sink.send(Ok(packet.payload().to_vec())).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/gateway/tcp_proxy.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 381 ~ match stack_sink.send(Ok(packet.payload().to_vec())).await { Err(e) => { [INFO] [stdout] 382 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 383 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:391:23 [INFO] [stdout] | [INFO] [stdout] 391 | while let Some(data) = stack_stream.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/gateway/tcp_proxy.rs:406:17 [INFO] [stdout] | [INFO] [stdout] 406 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:403:24 [INFO] [stdout] | [INFO] [stdout] 403 | if let Err(e) = peer_mgr.send_msg_ipv4(packet, dst).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/gateway/tcp_proxy.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 405 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 403 ~ match peer_mgr.send_msg_ipv4(packet, dst).await { Err(e) => { [INFO] [stdout] 404 | tracing::error!("send to peer failed in smoltcp sender: {:?}", e); [INFO] [stdout] 405 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tcp_proxy.rs:462:19 [INFO] [stdout] | [INFO] [stdout] 462 | while let Ok((tcp_stream, socket_addr)) = tcp_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/gateway/tcp_proxy.rs:491:13 [INFO] [stdout] | [INFO] [stdout] 491 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/tokio_smoltcp/reactor.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 77 | while let (true, Some(Ok(p))) = ( [INFO] [stdout] | ___________________^ - [INFO] [stdout] | |_____________________________________________| [INFO] [stdout] 78 | || recv_buf.len() < max_burst_size, [INFO] [stdout] 79 | || async_iface.next().now_or_never().flatten(), [INFO] [stdout] 80 | || ) { [INFO] [stdout] | ||_____________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_____________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/tokio_smoltcp/reactor.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/udp_proxy.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | if let Some(_) = self.try_handle_packet(&packet).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/gateway/udp_proxy.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | } 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] 324 ~ match self.try_handle_packet(&packet).await { Some(_) => { [INFO] [stdout] 325 | return None; [INFO] [stdout] 326 ~ } _ => { [INFO] [stdout] 327 | return Some(packet); [INFO] [stdout] 328 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/udp_proxy.rs:386:19 [INFO] [stdout] | [INFO] [stdout] 386 | while let Some(msg) = receiver.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/gateway/udp_proxy.rs:393:13 [INFO] [stdout] | [INFO] [stdout] 393 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:351:12 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(_auth) = self.config.auth.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:374:9 [INFO] [stdout] | [INFO] [stdout] 374 | } 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] 351 ~ match self.config.auth.as_ref() { Some(_auth) => { [INFO] [stdout] 352 | if client_methods.contains(&consts::SOCKS5_AUTH_METHOD_PASSWORD) { [INFO] [stdout] ... [INFO] [stdout] 373 | } [INFO] [stdout] 374 ~ } _ => { [INFO] [stdout] 375 | method_supported = consts::SOCKS5_AUTH_METHOD_NONE; [INFO] [stdout] 376 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/fast_socks5/server.rs:447:12 [INFO] [stdout] | [INFO] [stdout] 447 | if let Some(credentials) = auth.authenticate(credentials).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/gateway/fast_socks5/server.rs:459:9 [INFO] [stdout] | [INFO] [stdout] 459 | } 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] 447 ~ match auth.authenticate(credentials).await { Some(credentials) => { [INFO] [stdout] 448 | if auth_method == consts::SOCKS5_AUTH_METHOD_PASSWORD { [INFO] [stdout] ... [INFO] [stdout] 458 | return Ok(credentials); [INFO] [stdout] 459 ~ } _ => { [INFO] [stdout] 460 | self.inner [INFO] [stdout] ... [INFO] [stdout] 467 | ))); [INFO] [stdout] 468 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:140:19 [INFO] [stdout] | [INFO] [stdout] 140 | while let Some(packet) = smoltcp_stack_receiver.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/gateway/socks5.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:142:20 [INFO] [stdout] | [INFO] [stdout] 142 | if let Err(e) = stack_sink.send(Ok(packet.payload().to_vec())).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/gateway/socks5.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match stack_sink.send(Ok(packet.payload().to_vec())).await { Err(e) => { [INFO] [stdout] 143 | tracing::error!("send to smoltcp stack failed: {:?}", e); [INFO] [stdout] 144 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:151:19 [INFO] [stdout] | [INFO] [stdout] 151 | while let Some(data) = stack_stream.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/gateway/socks5.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | if let Err(e) = peer_manager.send_msg_ipv4(packet, dst).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/gateway/socks5.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 163 ~ match peer_manager.send_msg_ipv4(packet, dst).await { Err(e) => { [INFO] [stdout] 164 | tracing::error!("send to peer failed in smoltcp sender: {:?}", e); [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:247:20 [INFO] [stdout] | [INFO] [stdout] 247 | if let Some(entry) = self.2.lock().unwrap().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/gateway/socks5.rs:249:17 [INFO] [stdout] | [INFO] [stdout] 249 | } [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 self.2.lock().unwrap().take() { Some(entry) => { [INFO] [stdout] 248 | self.1.remove(&entry); [INFO] [stdout] 249 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:405:28 [INFO] [stdout] | [INFO] [stdout] 405 | if let Some(net) = net.lock().await.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/gateway/socks5.rs:407:25 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 405 ~ match net.lock().await.as_ref() { Some(net) => { [INFO] [stdout] 406 | net.handle_tcp_stream(socket); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:223:19 [INFO] [stdout] | [INFO] [stdout] 223 | while let Some(packet) = packet_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/instance/instance.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:363:16 [INFO] [stdout] | [INFO] [stdout] 363 | if let Some(ipv4_addr) = self.global_ctx.get_ipv4() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 363 ~ match self.global_ctx.get_ipv4() { Some(ipv4_addr) => { [INFO] [stdout] 364 | let mut new_nic_ctx = NicCtx::new( [INFO] [stdout] ... [INFO] [stdout] 370 | Self::use_new_nic_ctx(self.nic_ctx.clone(), new_nic_ctx).await; [INFO] [stdout] 371 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/instance.rs:445:15 [INFO] [stdout] | [INFO] [stdout] 445 | while let Some(ret) = self.tasks.join_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/instance/instance.rs:448:9 [INFO] [stdout] | [INFO] [stdout] 448 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl VpnPortalRpc` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/instance/instance.rs:459:45 [INFO] [stdout] | [INFO] [stdout] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc { [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/instance/instance.rs:459:35 [INFO] [stdout] | [INFO] [stdout] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc { [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] 459 | fn get_vpn_portal_rpc_service(&self) -> impl VpnPortalRpc + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/listeners.rs:170:20 [INFO] [stdout] | [INFO] [stdout] 170 | if let Err(e) = &server_ret { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/listeners.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 170 ~ match &server_ret { Err(e) => { [INFO] [stdout] 171 | global_ctx.issue_event(GlobalCtxEvent::ConnectionError( [INFO] [stdout] ... [INFO] [stdout] 176 | tracing::error!(error = ?e, "handle conn error"); [INFO] [stdout] 177 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl IfConfiguerTrait` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:482:32 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait { [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/instance/virtual_nic.rs:482:22 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait { [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] 482 | pub fn get_ifcfg(&self) -> impl IfConfiguerTrait + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:524:12 [INFO] [stdout] | [INFO] [stdout] 524 | if let Some(ipv4) = Ipv4Packet::new(ret.payload()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | } 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] 524 ~ match Ipv4Packet::new(ret.payload()) { Some(ipv4) => { [INFO] [stdout] 525 | if ipv4.get_version() != 4 { [INFO] [stdout] ... [INFO] [stdout] 539 | } [INFO] [stdout] 540 ~ } _ => { [INFO] [stdout] 541 | tracing::warn!(?ret, "[USER_PACKET] not ipv4 packet"); [INFO] [stdout] 542 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:554:19 [INFO] [stdout] | [INFO] [stdout] 554 | while let Some(ret) = stream.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/instance/virtual_nic.rs:560:13 [INFO] [stdout] | [INFO] [stdout] 560 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/instance/virtual_nic.rs:571:19 [INFO] [stdout] | [INFO] [stdout] 571 | while let Some(packet) = channel.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/instance/virtual_nic.rs:580:13 [WARN] too many lines in the log, truncating it