[INFO] cloning repository https://github.com/AddrMiner/Pmap [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AddrMiner/Pmap" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAddrMiner%2FPmap", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAddrMiner%2FPmap'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fea7264fd14a1e96e222eaa64fc91c70d1f91413 [INFO] checking AddrMiner/Pmap/fea7264fd14a1e96e222eaa64fc91c70d1f91413 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAddrMiner%2FPmap" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/AddrMiner/Pmap 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 git repo https://github.com/AddrMiner/Pmap [INFO] finished tweaking git repo https://github.com/AddrMiner/Pmap [INFO] tweaked toml for git repo https://github.com/AddrMiner/Pmap written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/AddrMiner/Pmap 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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f07f3834b46e28f0ab99d3de210b6298b36ea6aeea995858904115299bb10759 [INFO] running `Command { std: "docker" "start" "-a" "f07f3834b46e28f0ab99d3de210b6298b36ea6aeea995858904115299bb10759", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f07f3834b46e28f0ab99d3de210b6298b36ea6aeea995858904115299bb10759", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f07f3834b46e28f0ab99d3de210b6298b36ea6aeea995858904115299bb10759", kill_on_drop: false }` [INFO] [stdout] f07f3834b46e28f0ab99d3de210b6298b36ea6aeea995858904115299bb10759 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d9be5ad65b85a9c93c68e0e3ee97d81cd77ab26fd198a20bd6b6eae391e73b1f [INFO] running `Command { std: "docker" "start" "-a" "d9be5ad65b85a9c93c68e0e3ee97d81cd77ab26fd198a20bd6b6eae391e73b1f", 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.82 [INFO] [stderr] Compiling libc v0.2.154 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling serde v1.0.201 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling memchr v2.7.2 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling regex-syntax v0.8.3 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling thiserror v1.0.60 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Compiling libloading v0.8.3 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking anstyle-parse v0.2.4 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking match_cfg v0.1.0 [INFO] [stderr] Checking colorchoice v1.0.1 [INFO] [stderr] Checking anstyle-query v1.0.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling anyhow v1.0.83 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling serde_json v1.0.117 [INFO] [stderr] Checking is_terminal_polyfill v1.70.0 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking anstyle v1.0.7 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Checking destructure_traitobject v0.2.0 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking unsafe-any-ors v1.0.0 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking idna v0.4.0 [INFO] [stderr] Checking anstream v0.6.14 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking clap_lex v0.7.0 [INFO] [stderr] Compiling syn v2.0.61 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking hostname v0.3.1 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking parking_lot v0.12.2 [INFO] [stderr] Checking ipnet v2.9.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking tokio v1.37.0 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking wyz v0.5.1 [INFO] [stderr] Checking clap_builder v4.5.2 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking resolv-conf v0.7.0 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking thread-id v4.2.1 [INFO] [stderr] Checking errno v0.2.8 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking typemap-ors v1.0.0 [INFO] [stderr] Checking csv-core v0.1.11 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking funty v2.0.0 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Checking log-mdc v0.1.0 [INFO] [stderr] Checking zerocopy v0.7.34 [INFO] [stderr] Checking num-bigint v0.4.5 [INFO] [stderr] Checking default-net v0.18.0 [INFO] [stderr] Checking configparser v3.0.4 [INFO] [stderr] Compiling regex-automata v0.4.6 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling regex v1.10.4 [INFO] [stderr] Compiling pcap v2.0.0 [INFO] [stderr] Compiling serde_derive v1.0.201 [INFO] [stderr] Compiling thiserror-impl v1.0.60 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling async-trait v0.1.80 [INFO] [stderr] Compiling enum-as-inner v0.6.0 [INFO] [stderr] Compiling clap_derive v4.5.4 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking trust-dns-proto v0.23.2 [INFO] [stderr] Checking clap v4.5.4 [INFO] [stderr] Checking trust-dns-resolver v0.23.2 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking log4rs v1.3.0 [INFO] [stderr] Checking smap v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `smap` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/modes/macros.rs [INFO] [stderr] * src/modules/probe_modules/tools/macros.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/modes/macros.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | ($t:ty; $e:expr_2021; $($field:ident),*) => ( [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/modes/macros.rs:91:19 [INFO] [stderr] | [INFO] [stderr] 91 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [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/modes/macros.rs:91:36 [INFO] [stderr] | [INFO] [stderr] 91 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [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/modes/macros.rs:91:78 [INFO] [stderr] | [INFO] [stderr] 91 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [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/modes/macros.rs:99:19 [INFO] [stderr] | [INFO] [stderr] 99 | ($self:ident; $mode:expr_2021; $target:expr_2021; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ide... [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/modes/macros.rs:99:36 [INFO] [stderr] | [INFO] [stderr] 99 | ($self:ident; $mode:expr_2021; $target:expr_2021; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ide... [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/modes/macros.rs:99:92 [INFO] [stderr] | [INFO] [stderr] 99 | ($self:ident; $mode:expr_2021; $target:expr_2021; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ide... [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/modes/macros.rs:108:19 [INFO] [stderr] | [INFO] [stderr] 108 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:108:36 [INFO] [stderr] | [INFO] [stderr] 108 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:108:78 [INFO] [stderr] | [INFO] [stderr] 108 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:108:175 [INFO] [stderr] | [INFO] [stderr] 108 | ...nt)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr_2021, $clas_custom_field:ident)),*]) => ( [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/modes/macros.rs:117:19 [INFO] [stderr] | [INFO] [stderr] 117 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:117:36 [INFO] [stderr] | [INFO] [stderr] 117 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:117:78 [INFO] [stderr] | [INFO] [stderr] 117 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:117:175 [INFO] [stderr] | [INFO] [stderr] 117 | ...nt)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr_2021, $clas_custom_field:ident)),*]; #[$clas2:ident; $(... [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/modes/macros.rs:117:284 [INFO] [stderr] | [INFO] [stderr] 117 | ...),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr_2021, $clas2_custom_field:ident)),*]) => ( [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/modes/macros.rs:128:19 [INFO] [stderr] | [INFO] [stderr] 128 | ($base:ident; $mode:expr_2021; $target:expr_2021; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:128:36 [INFO] [stderr] | [INFO] [stderr] 128 | ($base:ident; $mode:expr_2021; $target:expr_2021; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:128:58 [INFO] [stderr] | [INFO] [stderr] 128 | ($base:ident; $mode:expr_2021; $target:expr_2021; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:139:19 [INFO] [stderr] | [INFO] [stderr] 139 | ($base:ident; $mode:expr_2021; $target:expr_2021; $args:ident; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:139:36 [INFO] [stderr] | [INFO] [stderr] 139 | ($base:ident; $mode:expr_2021; $target:expr_2021; $args:ident; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:139:71 [INFO] [stderr] | [INFO] [stderr] 139 | ($base:ident; $mode:expr_2021; $target:expr_2021; $args:ident; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modules/probe_modules/tools/macros.rs:25:56 [INFO] [stderr] | [INFO] [stderr] 25 | ($self:ident; $output_data:ident; $(($field: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/modules/probe_modules/tools/macros.rs:78:40 [INFO] [stderr] | [INFO] [stderr] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr_2021, $err_info: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/modules/probe_modules/tools/macros.rs:78:60 [INFO] [stderr] | [INFO] [stderr] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr_2021, $err_info: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/modules/probe_modules/tools/macros.rs:103:35 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modes/v4/topo/tools.rs:24:44 [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u32 = 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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modes/v4/topo/tools.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u32 = 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] [INFO] [stdout] [INFO] [stderr] 103 | ($output_len:ident, $type:ty, $val:expr_2021; $($field:ident),* ) => ( [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modes/v6/topo/tools.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u128 = 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] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modes/v6/topo/tools.rs:39:41 [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u128 = 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] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modules/probe_modules/tools/payload.rs:83:32 [INFO] [stdout] | [INFO] [stdout] 83 | tar_byte = 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] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tools/encryption_algorithm/aes.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | k[i] = 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] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tools/encryption_algorithm/aes.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | let rand_u16:u16 = 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] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | ($t:ty; $e:expr; $($field:ident),*) => ( [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] 56 | ($t:ty; $e:expr_2021; $($field:ident),*) => ( [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/modes/macros.rs:91:25 [INFO] [stdout] | [INFO] [stdout] 91 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 91 | ($self:ident; $mode:expr_2021; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 26 previous errors [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 91 | ($self:ident; $mode:expr; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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/modes/macros.rs:91:86 [INFO] [stdout] | [INFO] [stdout] 91 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 91 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:99:25 [INFO] [stdout] | [INFO] [stdout] 99 | ($self:ident; $mode:expr; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 99 | ($self:ident; $mode:expr_2021; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:99:39 [INFO] [stdout] | [INFO] [stdout] 99 | ($self:ident; $mode:expr; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 99 | ($self:ident; $mode:expr; $target:expr_2021; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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/modes/macros.rs:99:100 [INFO] [stdout] | [INFO] [stdout] 99 | ($self:ident; $mode:expr; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 99 | ($self:ident; $mode:expr; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:108:25 [INFO] [stdout] | [INFO] [stdout] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 108 | ($self:ident; $mode:expr_2021; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:108:39 [INFO] [stdout] | [INFO] [stdout] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 108 | ($self:ident; $mode:expr; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:108:86 [INFO] [stdout] | [INFO] [stdout] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:108:183 [INFO] [stdout] | [INFO] [stdout] 108 | ...#[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]) => ( [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] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr_2021, $clas_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:25 [INFO] [stdout] | [INFO] [stdout] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 117 | ($self:ident; $mode:expr_2021; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 117 | ($self:ident; $mode:expr; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:86 [INFO] [stdout] | [INFO] [stdout] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:183 [INFO] [stdout] | [INFO] [stdout] 117 | ...#[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:i... [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] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr_2021, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:288 [INFO] [stdout] | [INFO] [stdout] 117 | ...clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [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] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr_2021, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | ($base:ident; $mode:expr; $target:expr; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 128 | ($base:ident; $mode:expr_2021; $target:expr; $(($field_str:expr, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:128:39 [INFO] [stdout] | [INFO] [stdout] 128 | ($base:ident; $mode:expr; $target:expr; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 128 | ($base:ident; $mode:expr; $target:expr_2021; $(($field_str:expr, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:128:59 [INFO] [stdout] | [INFO] [stdout] 128 | ($base:ident; $mode:expr; $target:expr; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 128 | ($base:ident; $mode:expr; $target:expr; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:139:25 [INFO] [stdout] | [INFO] [stdout] 139 | ($base:ident; $mode:expr; $target:expr; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 139 | ($base:ident; $mode:expr_2021; $target:expr; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:139:39 [INFO] [stdout] | [INFO] [stdout] 139 | ($base:ident; $mode:expr; $target:expr; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 139 | ($base:ident; $mode:expr; $target:expr_2021; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:139:72 [INFO] [stdout] | [INFO] [stdout] 139 | ($base:ident; $mode:expr; $target:expr; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 139 | ($base:ident; $mode:expr; $target:expr; $args:ident; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/probe_modules/tools/macros.rs:25:61 [INFO] [stdout] | [INFO] [stdout] 25 | ($self:ident; $output_data:ident; $(($field: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] 25 | ($self:ident; $output_data:ident; $(($field: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/modules/probe_modules/tools/macros.rs:78:49 [INFO] [stdout] | [INFO] [stdout] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr, $err_info: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] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr_2021, $err_info: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/modules/probe_modules/tools/macros.rs:78:65 [INFO] [stdout] | [INFO] [stdout] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr, $err_info: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] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr, $err_info: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/modules/probe_modules/tools/macros.rs:103:40 [INFO] [stdout] | [INFO] [stdout] 103 | ($output_len:ident, $type:ty, $val:expr; $($field:ident),* ) => ( [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] 103 | ($output_len:ident, $type:ty, $val:expr_2021; $($field:ident),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source_interface_v4` and `source_interface_v6` are never read [INFO] [stdout] --> src/core/conf/set_conf/sender_conf.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct SenderBaseConf { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | pub source_interface_v4:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | pub source_addrs_v4:Vec>, [INFO] [stdout] 31 | pub source_interface_v6:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `local_ipv4_net`, `local_ipv6_net`, `receive_speed`, and `transmit_speed` are never read [INFO] [stdout] --> src/core/conf/tools/net/interface.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct InterfaceConf { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub local_ipv4_net:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub local_ipv6_net:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub receive_speed:Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 33 | pub transmit_speed:Option [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `conf` is never read [INFO] [stdout] --> src/modules/output_modules/mod.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct OutputMod { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 78 | pub conf:Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `conf` is never read [INFO] [stdout] --> src/modules/probe_modules/active_probe_ipv6_code/mod.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct CodeProbeModV6 { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 81 | pub conf:Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/tools/net_handle/packet/v6/packet_v6.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Ipv6Packet { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 5 | [INFO] [stdout] 6 | pub traffic_class:u8, // 通信类型 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 7 | pub flow_label:u32, // 流标签 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 8 | pub payload_len:u16, // 载荷长度 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub next_header:u8, // 下一头部 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | pub hop_limit:u8, // 跳数限制 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | [INFO] [stdout] 12 | pub source_addr:Ipv6Addr, // 源地址 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 13 | pub dest_addr:Ipv6Addr, // 目的地址 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ipv6Packet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sequence_number` is never read [INFO] [stdout] --> src/tools/net_handle/packet/v6/icmp_v6/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct IcmpV6Packet { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub sequence_number:u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IcmpV6Packet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sport`, `dport`, `len`, and `check_sum` are never read [INFO] [stdout] --> src/tools/net_handle/packet/udp/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct UdpPacket { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 7 | [INFO] [stdout] 8 | pub sport:u16, // 源端口 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | pub dport:u16, // 目的端口 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | pub len:u16, // UDP用户数据报的长度,其最小值是8(仅有首部) [INFO] [stdout] | ^^^ [INFO] [stdout] 11 | pub check_sum:u16, // 校验和 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if let Ok(inactive_capture) = capture { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 16 ~ match capture { Ok(inactive_capture) => { [INFO] [stdout] 17 | [INFO] [stdout] ... [INFO] [stdout] 50 | } [INFO] [stdout] 51 ~ } _ => { [INFO] [stdout] 52 | error!("{}", SYS.get_info("err", "open_capture_failed")); [INFO] [stdout] 53 | exit(1) [INFO] [stdout] 54 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | if let Ok(c) = opened_capture { [INFO] [stdout] | ^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | } 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] 38 ~ match opened_capture { Ok(c) => { [INFO] [stdout] 39 | // 如果成功开启 [INFO] [stdout] ... [INFO] [stdout] 46 | }).unwrap(); [INFO] [stdout] 47 ~ } _ => { [INFO] [stdout] 48 | error!("{}", SYS.get_info("err", "open_capture_failed")); [INFO] [stdout] 49 | exit(1) [INFO] [stdout] 50 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:84:16 [INFO] [stdout] | [INFO] [stdout] 84 | if let Err(_) = active_capture.filter(&program, true) { [INFO] [stdout] | ^^^^^^^^^^^^^--------------^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 84 ~ match active_capture.filter(&program, true) { Err(_) => { [INFO] [stdout] 85 | [INFO] [stdout] ... [INFO] [stdout] 88 | exit(1) [INFO] [stdout] 89 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/cycle/execute.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked;{ [INFO] [stdout] 89 | | total_send_success += send_success; [INFO] [stdout] 90 | | total_send_failed += send_failed; [INFO] [stdout] 91 | | total_blocked += blocked; [INFO] [stdout] 92 | | }); [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/cycle/execute.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/cycle/execute.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if let Ok(receiver_info) = receiver_res.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/modes/v4/cycle/execute.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | } else { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 99 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 100 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 111 | [INFO] [stdout] 112 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/file_reader/execute.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(target_iter) = target_iter_option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/file_reader/execute.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 51 ~ match target_iter_option { Some(target_iter) => { [INFO] [stdout] 52 | // 获得有效目标迭代器 [INFO] [stdout] ... [INFO] [stdout] 60 | sender_threads.push(sender_thread); [INFO] [stdout] 61 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/file_reader/execute.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 65 | | total_send_success += send_success; [INFO] [stdout] 66 | | total_send_failed += send_failed; [INFO] [stdout] 67 | | total_blocked += blocked; [INFO] [stdout] 68 | | }); [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/file_reader/execute.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/file_reader/execute.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | if let Ok(receiver_info) = receiver_res.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/modes/v4/file_reader/execute.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 78 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 87 | ); [INFO] [stdout] 88 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/pmap/execute.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | / wait_sender_threads!(full_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 101 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 102 | | }); [INFO] [stdout] | |__________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/pmap/execute.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/pmap/execute.rs:234:21 [INFO] [stdout] | [INFO] [stdout] 234 | / wait_sender_threads!(recommend_scan_sender_threads; send_success, send_failed, blocked, pmap_iter; { [INFO] [stdout] 235 | | pmap_iter_queue.push(pmap_iter); // 接收迭代器队列 [INFO] [stdout] 236 | | [INFO] [stdout] 237 | | total_send_success += send_success; [INFO] [stdout] 238 | | total_send_failed += send_failed; [INFO] [stdout] 239 | | total_blocked += blocked; [INFO] [stdout] 240 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/pmap/execute.rs:240:21 [INFO] [stdout] | [INFO] [stdout] 240 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/pmap/execute.rs:250:40 [INFO] [stdout] | [INFO] [stdout] 250 | ... if let Ok(bit_map) = &b.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/modes/v4/pmap/execute.rs:252:37 [INFO] [stdout] | [INFO] [stdout] 252 | ... }, [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 250 ~ match &b.join() { Ok(bit_map) => { [INFO] [stdout] 251 | Self::pmap_receive(bit_map, g_ptr, &mut states_map, &mut pmap_iter_queue, &self.blocker); [INFO] [stdout] 252 ~ } _ => {}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/pmap/execute.rs:254:40 [INFO] [stdout] | [INFO] [stdout] 254 | ... if let Ok(hash_set) = &h.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/modes/v4/pmap/execute.rs:256:37 [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] 254 ~ match &h.join() { Ok(hash_set) => { [INFO] [stdout] 255 | Self::pmap_receive(hash_set, g_ptr, &mut states_map, &mut pmap_iter_queue, &self.blocker); [INFO] [stdout] 256 ~ } _ => {}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/topo/execute.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | / wait_sender_threads!(pre_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 77 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 78 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:85:20 [INFO] [stdout] | [INFO] [stdout] 85 | if let Ok((s_chain, output)) = receiver_res.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/modes/v4/topo/execute.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 85 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 86 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 87 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | if let Some(sub_probe_mod) = &self.sub_probe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 91 ~ match &self.sub_probe { Some(sub_probe_mod) => { [INFO] [stdout] 92 | // 为 发送线程 准备的 状态链 [INFO] [stdout] ... [INFO] [stdout] 145 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] 146 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/topo/execute.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | / wait_sender_threads!(sub_pre_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 135 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 136 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:136:21 [INFO] [stdout] | [INFO] [stdout] 136 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | if let Ok((s_chain, output)) = receiver_res.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/modes/v4/topo/execute.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 144 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 145 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/topo/execute.rs:195:21 [INFO] [stdout] | [INFO] [stdout] 195 | / wait_sender_threads!(topo_scan_sender_threads; send_success, send_failed; { [INFO] [stdout] 196 | | total_send_success += send_success; total_send_failed += send_failed; [INFO] [stdout] 197 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:202:20 [INFO] [stdout] | [INFO] [stdout] 202 | if let Ok((s_chain, output)) = receiver_res.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/modes/v4/topo/execute.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 202 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 203 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 204 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/cycle/execute.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked;{ [INFO] [stdout] 87 | | total_send_success += send_success; [INFO] [stdout] 88 | | total_send_failed += send_failed; [INFO] [stdout] 89 | | total_blocked += blocked; [INFO] [stdout] 90 | | }); [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/cycle/execute.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/cycle/execute.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | if let Ok(receiver_info) = receiver_res.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/modes/v6/cycle/execute.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | } else { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 98 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 99 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 108 | ); [INFO] [stdout] 109 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/cycle_pattern/execute.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 83 | | total_send_success += send_success; [INFO] [stdout] 84 | | total_send_failed += send_failed; [INFO] [stdout] 85 | | total_blocked += blocked; [INFO] [stdout] 86 | | }); [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/cycle_pattern/execute.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/cycle_pattern/execute.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | if let Ok(receiver_info) = receiver_res.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/modes/v6/cycle_pattern/execute.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 94 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 103 | ); [INFO] [stdout] 104 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/file_reader/execute.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(target_iter) = target_iter_option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/file_reader/execute.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 51 ~ match target_iter_option { Some(target_iter) => { [INFO] [stdout] 52 | // 获得有效目标迭代器 [INFO] [stdout] ... [INFO] [stdout] 60 | sender_threads.push(sender_thread); [INFO] [stdout] 61 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/file_reader/execute.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked;{ [INFO] [stdout] 65 | | total_send_success += send_success; [INFO] [stdout] 66 | | total_send_failed += send_failed; [INFO] [stdout] 67 | | total_blocked += blocked; [INFO] [stdout] 68 | | }); [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/file_reader/execute.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/file_reader/execute.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | if let Ok(receiver_info) = receiver_res.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/modes/v6/file_reader/execute.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } else { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 78 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 87 | ); [INFO] [stdout] 88 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/pmap/execute.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | / wait_sender_threads!(full_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 101 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 102 | | }); [INFO] [stdout] | |__________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/pmap/execute.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/pmap/execute.rs:235:21 [INFO] [stdout] | [INFO] [stdout] 235 | / wait_sender_threads!(recommend_scan_sender_threads; send_success, send_failed, blocked, pmap_iter; { [INFO] [stdout] 236 | | pmap_iter_queue.push(pmap_iter); // 接收迭代器队列 [INFO] [stdout] 237 | | [INFO] [stdout] 238 | | total_send_success += send_success; [INFO] [stdout] 239 | | total_send_failed += send_failed; [INFO] [stdout] 240 | | total_blocked += blocked; [INFO] [stdout] 241 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/pmap/execute.rs:241:21 [INFO] [stdout] | [INFO] [stdout] 241 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/pmap/execute.rs:251:40 [INFO] [stdout] | [INFO] [stdout] 251 | ... if let Ok(bit_map) = &b.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/modes/v6/pmap/execute.rs:253:37 [INFO] [stdout] | [INFO] [stdout] 253 | ... }, [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match &b.join() { Ok(bit_map) => { [INFO] [stdout] 252 | Self::pmap_receive(bit_map, g_ptr, &mut states_map, &mut pmap_iter_queue, &self.blocker); [INFO] [stdout] 253 ~ } _ => {}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/pmap/execute.rs:255:40 [INFO] [stdout] | [INFO] [stdout] 255 | ... if let Ok(hash_set) = &h.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/modes/v6/pmap/execute.rs:257:37 [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 &h.join() { Ok(hash_set) => { [INFO] [stdout] 256 | Self::pmap_receive(hash_set, g_ptr, &mut states_map, &mut pmap_iter_queue, &self.blocker); [INFO] [stdout] 257 ~ } _ => {}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/topo/execute.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 79 | / wait_sender_threads!(pre_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 80 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 81 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | if let Ok((s_chain, output)) = receiver_res.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/modes/v6/topo/execute.rs:90:17 [INFO] [stdout] | [INFO] [stdout] 90 | } else { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 88 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 89 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 90 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(sub_probe_mod) = &self.sub_probe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match &self.sub_probe { Some(sub_probe_mod) => { [INFO] [stdout] 95 | // 为 发送线程 准备的 状态链 [INFO] [stdout] ... [INFO] [stdout] 147 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] 148 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/topo/execute.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | / wait_sender_threads!(sub_pre_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 138 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 139 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | if let Ok((s_chain, output)) = receiver_res.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/modes/v6/topo/execute.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 145 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 146 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 147 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/topo/execute.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | / wait_sender_threads!(topo_scan_sender_threads; send_success, send_failed; { [INFO] [stdout] 198 | | total_send_success += send_success; total_send_failed += send_failed; [INFO] [stdout] 199 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:199:21 [INFO] [stdout] | [INFO] [stdout] 199 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | if let Ok((s_chain, output)) = receiver_res.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/modes/v6/topo/execute.rs:208:17 [INFO] [stdout] | [INFO] [stdout] 208 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 204 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 205 | // 处理接收线程返回的信息 [INFO] [stdout] 206 | state_chain = s_chain; [INFO] [stdout] 207 | out_mod = output; [INFO] [stdout] 208 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/space_tree/execute.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | / wait_sender_threads!(sender_threads; send_success, send_failed;{ [INFO] [stdout] 95 | | total_send_success += send_success; [INFO] [stdout] 96 | | total_send_failed += send_failed; [INFO] [stdout] 97 | | }); [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/space_tree/execute.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/space_tree/execute.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | if let Ok((cur_active_num, region_recorder, output)) = receiver_res.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/modes/v6/space_tree/execute.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ match receiver_res.join() { Ok((cur_active_num, region_recorder, output)) => { [INFO] [stdout] 104 | info!("{} {}", SYS.get_info("info", "ipv6_addrs_gen_round_active_num"),cur_active_num); [INFO] [stdout] ... [INFO] [stdout] 107 | out_mod = output; [INFO] [stdout] 108 ~ } _ => { [INFO] [stdout] 109 | error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) [INFO] [stdout] 110 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/mix/cycle_v4_v6/execute.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 100 | | total_send_success += send_success; [INFO] [stdout] 101 | | total_send_failed += send_failed; [INFO] [stdout] 102 | | total_blocked += blocked; [INFO] [stdout] 103 | | }); [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/mix/cycle_v4_v6/execute.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/mix/cycle_v4_v6/execute.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | if let Ok((receiver_info_v4, receiver_info_v6)) = receiver_res.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/modes/mix/cycle_v4_v6/execute.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match receiver_res.join() { Ok((receiver_info_v4, receiver_info_v6)) => { [INFO] [stdout] 112 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 125 | ); [INFO] [stdout] 126 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:283:16 [INFO] [stdout] | [INFO] [stdout] 283 | if let Some(num_match) = num_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | } 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] 283 ~ match num_regex.captures(&self.path) { Some(num_match) => { [INFO] [stdout] 284 | let num = num_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 290 | tar_num = Some(num); [INFO] [stdout] 291 ~ } _ => { [INFO] [stdout] 292 | // 如果未匹配到 总数量字段 [INFO] [stdout] ... [INFO] [stdout] 298 | } [INFO] [stdout] 299 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:319:16 [INFO] [stdout] | [INFO] [stdout] 319 | if let Some(min_match) = min_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match min_regex.captures(&self.path) { Some(min_match) => { [INFO] [stdout] 320 | let min = min_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 327 | min_ip_flag = true; [INFO] [stdout] 328 ~ } _ => { [INFO] [stdout] 329 | min_ip = 0; [INFO] [stdout] 330 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:339:16 [INFO] [stdout] | [INFO] [stdout] 339 | if let Some(max_match) = max_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | } 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] 339 ~ match max_regex.captures(&self.path) { Some(max_match) => { [INFO] [stdout] 340 | let max = max_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 347 | max_ip_flag = true; [INFO] [stdout] 348 ~ } _ => { [INFO] [stdout] 349 | max_ip = 0; [INFO] [stdout] 350 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:377:16 [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(num_match) = num_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:385:13 [INFO] [stdout] | [INFO] [stdout] 385 | } 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] 377 ~ match num_regex.captures(&self.path) { Some(num_match) => { [INFO] [stdout] 378 | let num = num_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 384 | tar_num = Some(num); [INFO] [stdout] 385 ~ } _ => { [INFO] [stdout] 386 | [INFO] [stdout] ... [INFO] [stdout] 393 | } [INFO] [stdout] 394 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:414:16 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(min_match) = min_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | } 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] 414 ~ match min_regex.captures(&self.path) { Some(min_match) => { [INFO] [stdout] 415 | let min = min_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 422 | min_ip_flag = true; [INFO] [stdout] 423 ~ } _ => { [INFO] [stdout] 424 | min_ip = 0; [INFO] [stdout] 425 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:434:16 [INFO] [stdout] | [INFO] [stdout] 434 | if let Some(max_match) = max_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:443:13 [INFO] [stdout] | [INFO] [stdout] 443 | } 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] 434 ~ match max_regex.captures(&self.path) { Some(max_match) => { [INFO] [stdout] 435 | let max = max_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 442 | max_ip_flag = true; [INFO] [stdout] 443 ~ } _ => { [INFO] [stdout] 444 | max_ip = 0; [INFO] [stdout] 445 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/pmap/ip/receiver.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if let Some(p) = &self.state { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/pmap/ip/receiver.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 24 ~ match &self.state { Some(p) => { [INFO] [stdout] 25 | // 如果 该地址 之前存在状态 [INFO] [stdout] ... [INFO] [stdout] 68 | } [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | // 如果 该地址 之前没有状态 [INFO] [stdout] ... [INFO] [stdout] 103| } [INFO] [stdout] 104~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/pmap/ip/sender.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(s) = &self.state { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/pmap/ip/sender.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | } 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] 13 ~ match &self.state { Some(s) => { [INFO] [stdout] 14 | // 如果 该地址 之前存在过状态 [INFO] [stdout] ... [INFO] [stdout] 98 | } [INFO] [stdout] 99 ~ } _ => { [INFO] [stdout] 100| // 如果 该地址 没有状态 [INFO] [stdout] ... [INFO] [stdout] 114| next_port [INFO] [stdout] 115~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/ipv6_space_tree/space_tree/method.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | while let Some(node) = q.pop(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/ipv6_space_tree/space_tree/method.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl OutputMethod` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/modules/output_modules/csv.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn init(o:&OutputMod) -> impl OutputMethod { [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/modules/output_modules/csv.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn init(o:&OutputMod) -> impl OutputMethod { [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] 46 | pub fn init(o:&OutputMod) -> impl OutputMethod + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 91 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `smap` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/modes/macros.rs [INFO] [stderr] * src/modules/probe_modules/tools/macros.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/modes/macros.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | ($t:ty; $e:expr_2021; $($field:ident),*) => ( [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/modes/macros.rs:91:19 [INFO] [stderr] | [INFO] [stderr] 91 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [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/modes/macros.rs:91:36 [INFO] [stderr] | [INFO] [stderr] 91 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [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/modes/macros.rs:91:78 [INFO] [stderr] | [INFO] [stderr] 91 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [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/modes/macros.rs:99:19 [INFO] [stderr] | [INFO] [stderr] 99 | ($self:ident; $mode:expr_2021; $target:expr_2021; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ide... [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/modes/macros.rs:99:36 [INFO] [stderr] | [INFO] [stderr] 99 | ($self:ident; $mode:expr_2021; $target:expr_2021; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ide... [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/modes/macros.rs:99:92 [INFO] [stderr] | [INFO] [stderr] 99 | ($self:ident; $mode:expr_2021; $target:expr_2021; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ide... [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/modes/macros.rs:108:19 [INFO] [stderr] | [INFO] [stderr] 108 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:108:36 [INFO] [stderr] | [INFO] [stderr] 108 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:108:78 [INFO] [stderr] | [INFO] [stderr] 108 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:108:175 [INFO] [stderr] | [INFO] [stderr] 108 | ...nt)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr_2021, $clas_custom_field:ident)),*]) => ( [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/modes/macros.rs:117:19 [INFO] [stderr] | [INFO] [stderr] 117 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:117:36 [INFO] [stderr] | [INFO] [stderr] 117 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:117:78 [INFO] [stderr] | [INFO] [stderr] 117 | ($self:ident; $mode:expr_2021; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$cl... [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/modes/macros.rs:117:175 [INFO] [stderr] | [INFO] [stderr] 117 | ...nt)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr_2021, $clas_custom_field:ident)),*]; #[$clas2:ident; $(... [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/modes/macros.rs:117:284 [INFO] [stderr] | [INFO] [stderr] 117 | ...),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr_2021, $clas2_custom_field:ident)),*]) => ( [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/modes/macros.rs:128:19 [INFO] [stderr] | [INFO] [stderr] 128 | ($base:ident; $mode:expr_2021; $target:expr_2021; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:128:36 [INFO] [stderr] | [INFO] [stderr] 128 | ($base:ident; $mode:expr_2021; $target:expr_2021; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:128:58 [INFO] [stderr] | [INFO] [stderr] 128 | ($base:ident; $mode:expr_2021; $target:expr_2021; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:139:19 [INFO] [stderr] | [INFO] [stderr] 139 | ($base:ident; $mode:expr_2021; $target:expr_2021; $args:ident; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:139:36 [INFO] [stderr] | [INFO] [stderr] 139 | ($base:ident; $mode:expr_2021; $target:expr_2021; $args:ident; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modes/v4/topo/tools.rs:24:44 [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u32 = 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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modes/v4/topo/tools.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u32 = 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] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modes/v6/topo/tools.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u128 = 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] [INFO] [stdout] [INFO] [stderr] --> src/modes/macros.rs:139:71 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modes/v6/topo/tools.rs:39:41 [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u128 = 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] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/modules/probe_modules/tools/payload.rs:83:32 [INFO] [stdout] | [INFO] [stdout] 83 | tar_byte = 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] [INFO] [stdout] [INFO] [stderr] 139 | ($base:ident; $mode:expr_2021; $target:expr_2021; $args:ident; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tools/encryption_algorithm/aes.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | k[i] = 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] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tools/encryption_algorithm/aes.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | let rand_u16:u16 = 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] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | ($t:ty; $e:expr; $($field:ident),*) => ( [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] 56 | ($t:ty; $e:expr_2021; $($field:ident),*) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:91:25 [INFO] [stdout] | [INFO] [stdout] 91 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 91 | ($self:ident; $mode:expr_2021; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 91 | ($self:ident; $mode:expr; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:91:86 [INFO] [stdout] | [INFO] [stdout] 91 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 91 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [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/modes/macros.rs:99:25 [INFO] [stdout] | [INFO] [stdout] 99 | ($self:ident; $mode:expr; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 99 | ($self:ident; $mode:expr_2021; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:99:39 [INFO] [stdout] | [INFO] [stdout] 99 | ($self:ident; $mode:expr; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 99 | ($self:ident; $mode:expr; $target:expr_2021; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/modules/probe_modules/tools/macros.rs:25:56 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:99:100 [INFO] [stdout] | [INFO] [stdout] 99 | ($self:ident; $mode:expr; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]) => ( [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] 99 | ($self:ident; $mode:expr; $target:expr; #[$clas:ident; $($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]) => ( [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/modes/macros.rs:108:25 [INFO] [stdout] | [INFO] [stdout] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 108 | ($self:ident; $mode:expr_2021; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 25 | ($self:ident; $output_data:ident; $(($field:ident, $val:expr_2021)),*) => ( [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:108:39 [INFO] [stdout] | [INFO] [stdout] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 108 | ($self:ident; $mode:expr; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]) => ( [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/modes/macros.rs:108:86 [INFO] [stdout] | [INFO] [stdout] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]) => ( [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/modes/macros.rs:108:183 [INFO] [stdout] | [INFO] [stdout] 108 | ...#[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]) => ( [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] 108 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr_2021, $clas_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:25 [INFO] [stdout] | [INFO] [stdout] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 117 | ($self:ident; $mode:expr_2021; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 117 | ($self:ident; $mode:expr; $target:expr_2021; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:86 [INFO] [stdout] | [INFO] [stdout] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($cl... [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] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr_2021, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [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/modes/macros.rs:117:183 [INFO] [stdout] | [INFO] [stdout] 117 | ...#[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:i... [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] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr_2021, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:117:288 [INFO] [stdout] | [INFO] [stdout] 117 | ...clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr, $clas2_custom_field:ident)),*]) => ( [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] 117 | ($self:ident; $mode:expr; $target:expr; [$($field:ident),*; $(($custom_field_str:expr, $custom_field:ident)),*]; #[$clas:ident; $($clas_field:ident),*; $(($clas_custom_field_str:expr, $clas_custom_field:ident)),*]; #[$clas2:ident; $($clas2_field:ident),*; $(($clas2_custom_field_str:expr_2021, $clas2_custom_field:ident)),*]) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/modules/probe_modules/tools/macros.rs:78:40 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | ($base:ident; $mode:expr; $target:expr; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 128 | ($base:ident; $mode:expr_2021; $target:expr; $(($field_str:expr, $field_val:ident)),* ) => ( [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/modes/macros.rs:128:39 [INFO] [stdout] | [INFO] [stdout] 128 | ($base:ident; $mode:expr; $target:expr; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 128 | ($base:ident; $mode:expr; $target:expr_2021; $(($field_str:expr, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr_2021, $err_info:expr_2021)),*) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:128:59 [INFO] [stdout] | [INFO] [stdout] 128 | ($base:ident; $mode:expr; $target:expr; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 128 | ($base:ident; $mode:expr; $target:expr; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [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/modes/macros.rs:139:25 [INFO] [stdout] | [INFO] [stdout] 139 | ($base:ident; $mode:expr; $target:expr; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 139 | ($base:ident; $mode:expr_2021; $target:expr; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [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/modes/macros.rs:139:39 [INFO] [stdout] | [INFO] [stdout] 139 | ($base:ident; $mode:expr; $target:expr; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 139 | ($base:ident; $mode:expr; $target:expr_2021; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modes/macros.rs:139:72 [INFO] [stdout] | [INFO] [stdout] 139 | ($base:ident; $mode:expr; $target:expr; $args:ident; $(($field_str:expr, $field_val:ident)),* ) => ( [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] 139 | ($base:ident; $mode:expr; $target:expr; $args:ident; $(($field_str:expr_2021, $field_val:ident)),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/probe_modules/tools/macros.rs:25:61 [INFO] [stdout] | [INFO] [stdout] 25 | ($self:ident; $output_data:ident; $(($field: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] 25 | ($self:ident; $output_data:ident; $(($field:ident, $val:expr_2021)),*) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/probe_modules/tools/macros.rs:78:49 [INFO] [stdout] | [INFO] [stdout] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr, $err_info: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] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr_2021, $err_info:expr)),*) => { [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/modules/probe_modules/tools/macros.rs:78:65 [INFO] [stdout] | [INFO] [stdout] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr, $err_info: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] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr, $err_info:expr_2021)),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/probe_modules/tools/macros.rs:103:40 [INFO] [stdout] | [INFO] [stdout] 103 | ($output_len:ident, $type:ty, $val:expr; $($field:ident),* ) => ( [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] 103 | ($output_len:ident, $type:ty, $val:expr_2021; $($field:ident),* ) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/modules/probe_modules/tools/macros.rs:78:60 [INFO] [stdout] warning: fields `source_interface_v4` and `source_interface_v6` are never read [INFO] [stdout] --> src/core/conf/set_conf/sender_conf.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct SenderBaseConf { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | pub source_interface_v4:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | pub source_addrs_v4:Vec>, [INFO] [stdout] 31 | pub source_interface_v6:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 78 | ($p:ident; $(($field:ident, $t:ty, $default:expr_2021, $err_info: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/modules/probe_modules/tools/macros.rs:103:35 [INFO] [stderr] | [INFO] [stderr] 103 | ($output_len:ident, $type:ty, $val:expr_2021; $($field:ident),* ) => ( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] warning: fields `local_ipv4_net`, `local_ipv6_net`, `receive_speed`, and `transmit_speed` are never read [INFO] [stdout] --> src/core/conf/tools/net/interface.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct InterfaceConf { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub local_ipv4_net:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub local_ipv6_net:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub receive_speed:Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 33 | pub transmit_speed:Option [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: field `conf` is never read [INFO] [stdout] --> src/modules/output_modules/mod.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct OutputMod { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 78 | pub conf:Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: field `conf` is never read [INFO] [stdout] --> src/modules/probe_modules/active_probe_ipv6_code/mod.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct CodeProbeModV6 { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 81 | pub conf:Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 26 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/tools/net_handle/packet/v6/packet_v6.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Ipv6Packet { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 5 | [INFO] [stdout] 6 | pub traffic_class:u8, // 通信类型 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 7 | pub flow_label:u32, // 流标签 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 8 | pub payload_len:u16, // 载荷长度 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub next_header:u8, // 下一头部 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | pub hop_limit:u8, // 跳数限制 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | [INFO] [stdout] 12 | pub source_addr:Ipv6Addr, // 源地址 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 13 | pub dest_addr:Ipv6Addr, // 目的地址 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ipv6Packet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sequence_number` is never read [INFO] [stdout] --> src/tools/net_handle/packet/v6/icmp_v6/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct IcmpV6Packet { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub sequence_number:u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IcmpV6Packet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sport`, `dport`, `len`, and `check_sum` are never read [INFO] [stdout] --> src/tools/net_handle/packet/udp/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct UdpPacket { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 7 | [INFO] [stdout] 8 | pub sport:u16, // 源端口 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | pub dport:u16, // 目的端口 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | pub len:u16, // UDP用户数据报的长度,其最小值是8(仅有首部) [INFO] [stdout] | ^^^ [INFO] [stdout] 11 | pub check_sum:u16, // 校验和 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if let Ok(inactive_capture) = capture { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 16 ~ match capture { Ok(inactive_capture) => { [INFO] [stdout] 17 | [INFO] [stdout] ... [INFO] [stdout] 50 | } [INFO] [stdout] 51 ~ } _ => { [INFO] [stdout] 52 | error!("{}", SYS.get_info("err", "open_capture_failed")); [INFO] [stdout] 53 | exit(1) [INFO] [stdout] 54 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | if let Ok(c) = opened_capture { [INFO] [stdout] | ^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | } 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] 38 ~ match opened_capture { Ok(c) => { [INFO] [stdout] 39 | // 如果成功开启 [INFO] [stdout] ... [INFO] [stdout] 46 | }).unwrap(); [INFO] [stdout] 47 ~ } _ => { [INFO] [stdout] 48 | error!("{}", SYS.get_info("err", "open_capture_failed")); [INFO] [stdout] 49 | exit(1) [INFO] [stdout] 50 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:84:16 [INFO] [stdout] | [INFO] [stdout] 84 | if let Err(_) = active_capture.filter(&program, true) { [INFO] [stdout] | ^^^^^^^^^^^^^--------------^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/core/receiver/pcap/init.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 84 ~ match active_capture.filter(&program, true) { Err(_) => { [INFO] [stdout] 85 | [INFO] [stdout] ... [INFO] [stdout] 88 | exit(1) [INFO] [stdout] 89 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/cycle/execute.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked;{ [INFO] [stdout] 89 | | total_send_success += send_success; [INFO] [stdout] 90 | | total_send_failed += send_failed; [INFO] [stdout] 91 | | total_blocked += blocked; [INFO] [stdout] 92 | | }); [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/cycle/execute.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/cycle/execute.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if let Ok(receiver_info) = receiver_res.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/modes/v4/cycle/execute.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | } else { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 99 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 100 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 111 | [INFO] [stdout] 112 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/file_reader/execute.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(target_iter) = target_iter_option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/file_reader/execute.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 51 ~ match target_iter_option { Some(target_iter) => { [INFO] [stdout] 52 | // 获得有效目标迭代器 [INFO] [stdout] ... [INFO] [stdout] 60 | sender_threads.push(sender_thread); [INFO] [stdout] 61 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/file_reader/execute.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 65 | | total_send_success += send_success; [INFO] [stdout] 66 | | total_send_failed += send_failed; [INFO] [stdout] 67 | | total_blocked += blocked; [INFO] [stdout] 68 | | }); [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/file_reader/execute.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/file_reader/execute.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | if let Ok(receiver_info) = receiver_res.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/modes/v4/file_reader/execute.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 78 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 87 | ); [INFO] [stdout] 88 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/pmap/execute.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | / wait_sender_threads!(full_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 101 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 102 | | }); [INFO] [stdout] | |__________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/pmap/execute.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/pmap/execute.rs:234:21 [INFO] [stdout] | [INFO] [stdout] 234 | / wait_sender_threads!(recommend_scan_sender_threads; send_success, send_failed, blocked, pmap_iter; { [INFO] [stdout] 235 | | pmap_iter_queue.push(pmap_iter); // 接收迭代器队列 [INFO] [stdout] 236 | | [INFO] [stdout] 237 | | total_send_success += send_success; [INFO] [stdout] 238 | | total_send_failed += send_failed; [INFO] [stdout] 239 | | total_blocked += blocked; [INFO] [stdout] 240 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/pmap/execute.rs:240:21 [INFO] [stdout] | [INFO] [stdout] 240 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/pmap/execute.rs:250:40 [INFO] [stdout] | [INFO] [stdout] 250 | ... if let Ok(bit_map) = &b.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/modes/v4/pmap/execute.rs:252:37 [INFO] [stdout] | [INFO] [stdout] 252 | ... }, [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 250 ~ match &b.join() { Ok(bit_map) => { [INFO] [stdout] 251 | Self::pmap_receive(bit_map, g_ptr, &mut states_map, &mut pmap_iter_queue, &self.blocker); [INFO] [stdout] 252 ~ } _ => {}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/pmap/execute.rs:254:40 [INFO] [stdout] | [INFO] [stdout] 254 | ... if let Ok(hash_set) = &h.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/modes/v4/pmap/execute.rs:256:37 [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] 254 ~ match &h.join() { Ok(hash_set) => { [INFO] [stdout] 255 | Self::pmap_receive(hash_set, g_ptr, &mut states_map, &mut pmap_iter_queue, &self.blocker); [INFO] [stdout] 256 ~ } _ => {}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/topo/execute.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | / wait_sender_threads!(pre_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 77 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 78 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:85:20 [INFO] [stdout] | [INFO] [stdout] 85 | if let Ok((s_chain, output)) = receiver_res.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/modes/v4/topo/execute.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 85 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 86 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 87 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | if let Some(sub_probe_mod) = &self.sub_probe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 91 ~ match &self.sub_probe { Some(sub_probe_mod) => { [INFO] [stdout] 92 | // 为 发送线程 准备的 状态链 [INFO] [stdout] ... [INFO] [stdout] 145 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] 146 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/topo/execute.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | / wait_sender_threads!(sub_pre_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 135 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 136 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:136:21 [INFO] [stdout] | [INFO] [stdout] 136 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | if let Ok((s_chain, output)) = receiver_res.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/modes/v4/topo/execute.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 144 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 145 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v4/topo/execute.rs:195:21 [INFO] [stdout] | [INFO] [stdout] 195 | / wait_sender_threads!(topo_scan_sender_threads; send_success, send_failed; { [INFO] [stdout] 196 | | total_send_success += send_success; total_send_failed += send_failed; [INFO] [stdout] 197 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v4/topo/execute.rs:202:20 [INFO] [stdout] | [INFO] [stdout] 202 | if let Ok((s_chain, output)) = receiver_res.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/modes/v4/topo/execute.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 202 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 203 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 204 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/cycle/execute.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked;{ [INFO] [stdout] 87 | | total_send_success += send_success; [INFO] [stdout] 88 | | total_send_failed += send_failed; [INFO] [stdout] 89 | | total_blocked += blocked; [INFO] [stdout] 90 | | }); [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/cycle/execute.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/cycle/execute.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | if let Ok(receiver_info) = receiver_res.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/modes/v6/cycle/execute.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | } else { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 98 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 99 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 108 | ); [INFO] [stdout] 109 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/cycle_pattern/execute.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 83 | | total_send_success += send_success; [INFO] [stdout] 84 | | total_send_failed += send_failed; [INFO] [stdout] 85 | | total_blocked += blocked; [INFO] [stdout] 86 | | }); [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/cycle_pattern/execute.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/cycle_pattern/execute.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | if let Ok(receiver_info) = receiver_res.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/modes/v6/cycle_pattern/execute.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 94 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 103 | ); [INFO] [stdout] 104 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/file_reader/execute.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(target_iter) = target_iter_option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/file_reader/execute.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 51 ~ match target_iter_option { Some(target_iter) => { [INFO] [stdout] 52 | // 获得有效目标迭代器 [INFO] [stdout] ... [INFO] [stdout] 60 | sender_threads.push(sender_thread); [INFO] [stdout] 61 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/file_reader/execute.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked;{ [INFO] [stdout] 65 | | total_send_success += send_success; [INFO] [stdout] 66 | | total_send_failed += send_failed; [INFO] [stdout] 67 | | total_blocked += blocked; [INFO] [stdout] 68 | | }); [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/file_reader/execute.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/file_reader/execute.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | if let Ok(receiver_info) = receiver_res.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/modes/v6/file_reader/execute.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } else { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ match receiver_res.join() { Ok(receiver_info) => { [INFO] [stdout] 78 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 87 | ); [INFO] [stdout] 88 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/pmap/execute.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | / wait_sender_threads!(full_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 101 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 102 | | }); [INFO] [stdout] | |__________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/pmap/execute.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/pmap/execute.rs:235:21 [INFO] [stdout] | [INFO] [stdout] 235 | / wait_sender_threads!(recommend_scan_sender_threads; send_success, send_failed, blocked, pmap_iter; { [INFO] [stdout] 236 | | pmap_iter_queue.push(pmap_iter); // 接收迭代器队列 [INFO] [stdout] 237 | | [INFO] [stdout] 238 | | total_send_success += send_success; [INFO] [stdout] 239 | | total_send_failed += send_failed; [INFO] [stdout] 240 | | total_blocked += blocked; [INFO] [stdout] 241 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/pmap/execute.rs:241:21 [INFO] [stdout] | [INFO] [stdout] 241 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/pmap/execute.rs:251:40 [INFO] [stdout] | [INFO] [stdout] 251 | ... if let Ok(bit_map) = &b.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/modes/v6/pmap/execute.rs:253:37 [INFO] [stdout] | [INFO] [stdout] 253 | ... }, [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match &b.join() { Ok(bit_map) => { [INFO] [stdout] 252 | Self::pmap_receive(bit_map, g_ptr, &mut states_map, &mut pmap_iter_queue, &self.blocker); [INFO] [stdout] 253 ~ } _ => {}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/pmap/execute.rs:255:40 [INFO] [stdout] | [INFO] [stdout] 255 | ... if let Ok(hash_set) = &h.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/modes/v6/pmap/execute.rs:257:37 [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 &h.join() { Ok(hash_set) => { [INFO] [stdout] 256 | Self::pmap_receive(hash_set, g_ptr, &mut states_map, &mut pmap_iter_queue, &self.blocker); [INFO] [stdout] 257 ~ } _ => {}}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/topo/execute.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 79 | / wait_sender_threads!(pre_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 80 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 81 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | if let Ok((s_chain, output)) = receiver_res.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/modes/v6/topo/execute.rs:90:17 [INFO] [stdout] | [INFO] [stdout] 90 | } else { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 88 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 89 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 90 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err"));exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(sub_probe_mod) = &self.sub_probe { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match &self.sub_probe { Some(sub_probe_mod) => { [INFO] [stdout] 95 | // 为 发送线程 准备的 状态链 [INFO] [stdout] ... [INFO] [stdout] 147 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] 148 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/topo/execute.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | / wait_sender_threads!(sub_pre_scan_sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 138 | | total_send_success += send_success; total_send_failed += send_failed; total_blocked += blocked; [INFO] [stdout] 139 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:139:21 [INFO] [stdout] | [INFO] [stdout] 139 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | if let Ok((s_chain, output)) = receiver_res.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/modes/v6/topo/execute.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 145 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 146 | state_chain = s_chain; out_mod = output; [INFO] [stdout] 147 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/topo/execute.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | / wait_sender_threads!(topo_scan_sender_threads; send_success, send_failed; { [INFO] [stdout] 198 | | total_send_success += send_success; total_send_failed += send_failed; [INFO] [stdout] 199 | | }); [INFO] [stdout] | |______________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:199:21 [INFO] [stdout] | [INFO] [stdout] 199 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/topo/execute.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | if let Ok((s_chain, output)) = receiver_res.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/modes/v6/topo/execute.rs:208:17 [INFO] [stdout] | [INFO] [stdout] 208 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 204 ~ match receiver_res.join() { Ok((s_chain, output)) => { [INFO] [stdout] 205 | // 处理接收线程返回的信息 [INFO] [stdout] 206 | state_chain = s_chain; [INFO] [stdout] 207 | out_mod = output; [INFO] [stdout] 208 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/v6/space_tree/execute.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | / wait_sender_threads!(sender_threads; send_success, send_failed;{ [INFO] [stdout] 95 | | total_send_success += send_success; [INFO] [stdout] 96 | | total_send_failed += send_failed; [INFO] [stdout] 97 | | }); [INFO] [stdout] | |______________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/v6/space_tree/execute.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/v6/space_tree/execute.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | if let Ok((cur_active_num, region_recorder, output)) = receiver_res.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/modes/v6/space_tree/execute.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ match receiver_res.join() { Ok((cur_active_num, region_recorder, output)) => { [INFO] [stdout] 104 | info!("{} {}", SYS.get_info("info", "ipv6_addrs_gen_round_active_num"),cur_active_num); [INFO] [stdout] ... [INFO] [stdout] 107 | out_mod = output; [INFO] [stdout] 108 ~ } _ => { [INFO] [stdout] 109 | error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) [INFO] [stdout] 110 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/macros.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(($($field,)*)) = sender_res $block [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] ::: src/modes/mix/cycle_v4_v6/execute.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | / wait_sender_threads!(sender_threads; send_success, send_failed, blocked; { [INFO] [stdout] 100 | | total_send_success += send_success; [INFO] [stdout] 101 | | total_send_failed += send_failed; [INFO] [stdout] 102 | | total_blocked += blocked; [INFO] [stdout] 103 | | }); [INFO] [stdout] | |__________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modes/mix/cycle_v4_v6/execute.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | }); [INFO] [stdout] | ^ [INFO] [stdout] = note: this warning originates in the macro `wait_sender_threads` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modes/mix/cycle_v4_v6/execute.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | if let Ok((receiver_info_v4, receiver_info_v6)) = receiver_res.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/modes/mix/cycle_v4_v6/execute.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } else { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match receiver_res.join() { Ok((receiver_info_v4, receiver_info_v6)) => { [INFO] [stdout] 112 | // 处理接收线程返回的信息 [INFO] [stdout] ... [INFO] [stdout] 125 | ); [INFO] [stdout] 126 ~ } _ => { error!("{}", SYS.get_info("err", "recv_thread_err")); exit(1) }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:283:16 [INFO] [stdout] | [INFO] [stdout] 283 | if let Some(num_match) = num_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | } 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] 283 ~ match num_regex.captures(&self.path) { Some(num_match) => { [INFO] [stdout] 284 | let num = num_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 290 | tar_num = Some(num); [INFO] [stdout] 291 ~ } _ => { [INFO] [stdout] 292 | // 如果未匹配到 总数量字段 [INFO] [stdout] ... [INFO] [stdout] 298 | } [INFO] [stdout] 299 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:319:16 [INFO] [stdout] | [INFO] [stdout] 319 | if let Some(min_match) = min_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match min_regex.captures(&self.path) { Some(min_match) => { [INFO] [stdout] 320 | let min = min_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 327 | min_ip_flag = true; [INFO] [stdout] 328 ~ } _ => { [INFO] [stdout] 329 | min_ip = 0; [INFO] [stdout] 330 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:339:16 [INFO] [stdout] | [INFO] [stdout] 339 | if let Some(max_match) = max_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | } 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] 339 ~ match max_regex.captures(&self.path) { Some(max_match) => { [INFO] [stdout] 340 | let max = max_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 347 | max_ip_flag = true; [INFO] [stdout] 348 ~ } _ => { [INFO] [stdout] 349 | max_ip = 0; [INFO] [stdout] 350 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:377:16 [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(num_match) = num_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:385:13 [INFO] [stdout] | [INFO] [stdout] 385 | } 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] 377 ~ match num_regex.captures(&self.path) { Some(num_match) => { [INFO] [stdout] 378 | let num = num_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 384 | tar_num = Some(num); [INFO] [stdout] 385 ~ } _ => { [INFO] [stdout] 386 | [INFO] [stdout] ... [INFO] [stdout] 393 | } [INFO] [stdout] 394 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:414:16 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(min_match) = min_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | } 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] 414 ~ match min_regex.captures(&self.path) { Some(min_match) => { [INFO] [stdout] 415 | let min = min_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 422 | min_ip_flag = true; [INFO] [stdout] 423 ~ } _ => { [INFO] [stdout] 424 | min_ip = 0; [INFO] [stdout] 425 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:434:16 [INFO] [stdout] | [INFO] [stdout] 434 | if let Some(max_match) = max_regex.captures(&self.path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/file_reader/read_target_file.rs:443:13 [INFO] [stdout] | [INFO] [stdout] 443 | } 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] 434 ~ match max_regex.captures(&self.path) { Some(max_match) => { [INFO] [stdout] 435 | let max = max_match[1].parse::().map_err( [INFO] [stdout] ... [INFO] [stdout] 442 | max_ip_flag = true; [INFO] [stdout] 443 ~ } _ => { [INFO] [stdout] 444 | max_ip = 0; [INFO] [stdout] 445 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/pmap/ip/receiver.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if let Some(p) = &self.state { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/pmap/ip/receiver.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 24 ~ match &self.state { Some(p) => { [INFO] [stdout] 25 | // 如果 该地址 之前存在状态 [INFO] [stdout] ... [INFO] [stdout] 68 | } [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | // 如果 该地址 之前没有状态 [INFO] [stdout] ... [INFO] [stdout] 103| } [INFO] [stdout] 104~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/pmap/ip/sender.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(s) = &self.state { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/pmap/ip/sender.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | } 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] 13 ~ match &self.state { Some(s) => { [INFO] [stdout] 14 | // 如果 该地址 之前存在过状态 [INFO] [stdout] ... [INFO] [stdout] 98 | } [INFO] [stdout] 99 ~ } _ => { [INFO] [stdout] 100| // 如果 该地址 没有状态 [INFO] [stdout] ... [INFO] [stdout] 114| next_port [INFO] [stdout] 115~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/ipv6_space_tree/space_tree/method.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | while let Some(node) = q.pop(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/target_iterators/ipv6_space_tree/space_tree/method.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl OutputMethod` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/modules/output_modules/csv.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn init(o:&OutputMod) -> impl OutputMethod { [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/modules/output_modules/csv.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn init(o:&OutputMod) -> impl OutputMethod { [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] 46 | pub fn init(o:&OutputMod) -> impl OutputMethod + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 91 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.54s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking smap v0.1.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modes/v4/topo/tools.rs:24:44 [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u32 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u32 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modes/v4/topo/tools.rs:24:44 [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u32 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u32 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modes/v4/topo/tools.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u32 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u32 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modes/v4/topo/tools.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u32 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u32 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modes/v6/topo/tools.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u128 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u128 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modes/v6/topo/tools.rs:39:41 [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u128 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u128 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modes/v6/topo/tools.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u128 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 24 | let rand_ip_val: u128 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modes/v6/topo/tools.rs:39:41 [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u128 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 39 | let rand_ip_val: u128 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modules/probe_modules/tools/payload.rs:83:32 [INFO] [stdout] | [INFO] [stdout] 83 | tar_byte = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 83 | tar_byte = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/modules/probe_modules/tools/payload.rs:83:32 [INFO] [stdout] | [INFO] [stdout] 83 | tar_byte = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 83 | tar_byte = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tools/encryption_algorithm/aes.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | k[i] = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 42 | k[i] = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tools/encryption_algorithm/aes.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | let rand_u16:u16 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 47 | let rand_u16:u16 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tools/encryption_algorithm/aes.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | k[i] = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 42 | k[i] = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tools/encryption_algorithm/aes.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | let rand_u16:u16 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 47 | let rand_u16:u16 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/modules/output_modules/mod.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn init(o:&OutputMod) -> Box { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 42 | / match name { // 各类模块的构造方法 [INFO] [stdout] 43 | | [INFO] [stdout] 44 | | "csv" => Box::new(Csv::init(o)), [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | } [INFO] [stdout] | |_________^ returning this value requires that `'1` must outlive `'static` [INFO] [stdout] | [INFO] [stdout] help: to declare that the trait object captures data from argument `o`, you can add an explicit `'_` lifetime bound [INFO] [stdout] | [INFO] [stdout] 38 | pub fn init(o:&OutputMod) -> Box { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/modules/output_modules/mod.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn init(o:&OutputMod) -> Box { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 42 | / match name { // 各类模块的构造方法 [INFO] [stdout] 43 | | [INFO] [stdout] 44 | | "csv" => Box::new(Csv::init(o)), [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | } [INFO] [stdout] | |_________^ returning this value requires that `'1` must outlive `'static` [INFO] [stdout] | [INFO] [stdout] help: to declare that the trait object captures data from argument `o`, you can add an explicit `'_` lifetime bound [INFO] [stdout] | [INFO] [stdout] 38 | pub fn init(o:&OutputMod) -> Box { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `smap` (bin "smap") due to 9 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `smap` (bin "smap" test) due to 9 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "d9be5ad65b85a9c93c68e0e3ee97d81cd77ab26fd198a20bd6b6eae391e73b1f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9be5ad65b85a9c93c68e0e3ee97d81cd77ab26fd198a20bd6b6eae391e73b1f", kill_on_drop: false }` [INFO] [stdout] d9be5ad65b85a9c93c68e0e3ee97d81cd77ab26fd198a20bd6b6eae391e73b1f