[INFO] fetching crate bitcoinsv 0.2.6... [INFO] checking bitcoinsv-0.2.6 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate bitcoinsv 0.2.6 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate bitcoinsv 0.2.6 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate bitcoinsv 0.2.6 [INFO] finished tweaking crates.io crate bitcoinsv 0.2.6 [INFO] tweaked toml for crates.io crate bitcoinsv 0.2.6 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 77 packages to latest compatible versions [INFO] [stderr] Adding addr2line v0.22.0 (latest: v0.24.1) [INFO] [stderr] Adding gimli v0.29.0 (latest: v0.31.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (latest: v0.4.0) [INFO] [stderr] Adding miniz_oxide v0.7.4 (latest: v0.8.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (latest: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 02e1dd17d98c00610cb047af97b7f46a831ac3f173c5b2da279ad15c954ff984 [INFO] running `Command { std: "docker" "start" "-a" "02e1dd17d98c00610cb047af97b7f46a831ac3f173c5b2da279ad15c954ff984", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "02e1dd17d98c00610cb047af97b7f46a831ac3f173c5b2da279ad15c954ff984", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "02e1dd17d98c00610cb047af97b7f46a831ac3f173c5b2da279ad15c954ff984", kill_on_drop: false }` [INFO] [stdout] 02e1dd17d98c00610cb047af97b7f46a831ac3f173c5b2da279ad15c954ff984 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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 -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3b570b3da8aeb32f4442e9cf45c1b191f483d7e52125bbd379d7283f756bfe7d [INFO] running `Command { std: "docker" "start" "-a" "3b570b3da8aeb32f4442e9cf45c1b191f483d7e52125bbd379d7283f756bfe7d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking ring v0.17.8 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling serde_derive v1.0.209 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling uuid-macro-internal v1.10.0 [INFO] [stderr] Compiling async-trait v0.1.81 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking serde v1.0.209 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking serde_json v1.0.127 [INFO] [stderr] Checking bitcoinsv v0.2.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/util/amount.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/util/amount.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `disconnect` is never used [INFO] [stdout] --> src/p2p/manager.rs:274:14 [INFO] [stdout] | [INFO] [stdout] 203 | impl P2PManagerActor { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | async fn disconnect(&mut self, p: PeerAddress) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `connection_id`, `config`, `data_channel`, `attempts`, `primary_config`, and `peer_address` are never read [INFO] [stdout] --> src/p2p/connection.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 133 | struct ConnectionActor { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 137 | connection_id: Uuid, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 138 | // the configuration for the connection, we'll need this when we support multiple channels [INFO] [stdout] 139 | config: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 140 | // the channel on which to send substantive P2P messages [INFO] [stdout] 141 | data_channel: P2PMessageChannelSender, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 142 | // number of attempts to connect [INFO] [stdout] 143 | attempts: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | primary_config: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 150 | // the peer [INFO] [stdout] 151 | peer_address: PeerAddress, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `WaitForRetry` is never constructed [INFO] [stdout] --> src/p2p/stream.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 105 | pub enum StreamState { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 110 | WaitForRetry, // waiting for a retry [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListenerConfig` is never constructed [INFO] [stdout] --> src/p2p/listener.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ListenerConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/p2p/listener.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ListenerConfig { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 16 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Listener` is never constructed [INFO] [stdout] --> src/p2p/listener.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Listener { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_port` are never used [INFO] [stdout] --> src/p2p/listener.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Listener { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 34 | pub fn new(outbox: Sender, config: ListenerConfig) -> (Self, JoinHandle<()>) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub async fn get_port(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ListenerMessage` is never used [INFO] [stdout] --> src/p2p/listener.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | pub enum ListenerMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ListenerInternalMessage` is never used [INFO] [stdout] --> src/p2p/listener.rs:52:6 [INFO] [stdout] | [INFO] [stdout] 52 | enum ListenerInternalMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListenerActor` is never constructed [INFO] [stdout] --> src/p2p/listener.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | struct ListenerActor { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `run` are never used [INFO] [stdout] --> src/p2p/listener.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 63 | impl ListenerActor { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 64 | fn new(inbox: Receiver, outbox: Sender, config: ListenerConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | async fn run(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_NETWORK` is never used [INFO] [stdout] --> src/p2p/messages/version.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const NODE_NETWORK: u64 = 1; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ALERT` is never used [INFO] [stdout] --> src/p2p/messages/messages.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | pub const ALERT: [u8; 12] = *b"alert\0\0\0\0\0\0\0"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCKTXN` is never used [INFO] [stdout] --> src/p2p/messages/messages.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | pub const BLOCKTXN: [u8; 12] = *b"blocktxn\0\0\0\0"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CMPCTBLOCK` is never used [INFO] [stdout] --> src/p2p/messages/messages.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 87 | pub const CMPCTBLOCK: [u8; 12] = *b"cmpctblock\0\0"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GETBLOCKTXN` is never used [INFO] [stdout] --> src/p2p/messages/messages.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | pub const GETBLOCKTXN: [u8; 12] = *b"getblocktxn\0"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_MALFORMED` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const REJECT_MALFORMED: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_INVALID` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const REJECT_INVALID: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_OBSOLETE` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const REJECT_OBSOLETE: u8 = 0x11; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_DUPLICATE` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const REJECT_DUPLICATE: u8 = 0x12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_NONSTANDARD` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const REJECT_NONSTANDARD: u8 = 0x40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_DUST` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const REJECT_DUST: u8 = 0x41; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_INSUFFICIENT_FEE` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const REJECT_INSUFFICIENT_FEE: u8 = 0x42; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_CHECKPOINT` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const REJECT_CHECKPOINT: u8 = 0x43; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `port` is never read [INFO] [stdout] --> src/p2p/params.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct NetworkParams { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub port: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkParams` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TX_SIZE` is never used [INFO] [stdout] --> src/p2p/params.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub const MAX_TX_SIZE: u64 = 1_000_000_000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/bitcoin/hash.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 161 | fn deserialize(deserializer: D) -> Result where D: Deserializer<'de> { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 162 | let s = String::deserialize(deserializer)?; [INFO] [stdout] 163 | Hash::from_hex(s).map_err(|e| serde::de::Error::custom(e.to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/bitcoin/block.rs:75:63 [INFO] [stdout] | [INFO] [stdout] 74 | let mut tx_reader = FullBlockTxReader::new(num_tx, reader, sender); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 75 | let _h = tokio::spawn(async move {tx_reader.read_tx().await}); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/manager.rs:127:10 [INFO] [stdout] | [INFO] [stdout] 124 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 125 | let (data_tx, _data_rx) = tokio::sync::broadcast::channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | ------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 126 | let d_tx2 = data_tx.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 127 | (P2PManager { [INFO] [stdout] | __________^ [INFO] [stdout] 128 | | mgr_sender: tx, [INFO] [stdout] 129 | | data_channel: data_tx, [INFO] [stdout] 130 | | }, tokio::spawn(async move { P2PManagerActor::new(rx, config, d_tx2).await })) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/manager.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 124 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 125 | let (data_tx, _data_rx) = tokio::sync::broadcast::channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | ------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 126 | let d_tx2 = data_tx.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 130 | }, tokio::spawn(async move { P2PManagerActor::new(rx, config, d_tx2).await })) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/manager.rs:130:78 [INFO] [stdout] | [INFO] [stdout] 124 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 125 | let (data_tx, _data_rx) = tokio::sync::broadcast::channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] 126 | let d_tx2 = data_tx.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 130 | }, tokio::spawn(async move { P2PManagerActor::new(rx, config, d_tx2).await })) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/connection.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn new(peer: PeerAddress, config: Arc, data_channel: Option) -> (Connection, JoinHandl... [INFO] [stdout] | ----------------------------- --------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | // actor channel [INFO] [stdout] 99 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 100 | // data channel [INFO] [stdout] 101 | let d_channel = if data_channel.is_none() { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 102 | let (tx, _rx) = tokio::sync::broadcast::channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 107 | let d_chan2 = d_channel.clone(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 111 | let j = tokio::spawn(async move { ConnectionActor::new(rx, p_c, c_id2, config, d_chan2).await }); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | (Connection { peer, connection_id, data_channel: d_channel, sender: tx, }, j) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/connection.rs:111:97 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn new(peer: PeerAddress, config: Arc, data_channel: Option) -> (Connection, JoinHandl... [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | // actor channel [INFO] [stdout] 99 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 107 | let d_chan2 = d_channel.clone(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 111 | let j = tokio::spawn(async move { ConnectionActor::new(rx, p_c, c_id2, config, d_chan2).await }); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/stream.rs:91:10 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn new(address: PeerAddress, config: Arc>, data_channel: P2PMessageChannelSender) -> (Self, JoinHandle<()>) { [INFO] [stdout] | --------------------------------- ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 89 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 90 | let j = tokio::spawn(async move { PeerStreamActor::new(rx, address, config, data_channel).await }); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 91 | (PeerStream { sender: tx }, j) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/stream.rs:90:99 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn new(address: PeerAddress, config: Arc>, data_channel: P2PMessageChannelSender) -> (Self, JoinHandle<()>) { [INFO] [stdout] | ------ ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 89 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 90 | let j = tokio::spawn(async move { PeerStreamActor::new(rx, address, config, data_channel).await }); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/stream.rs:158:82 [INFO] [stdout] | [INFO] [stdout] 153 | let (reader, writer) = stream.into_split(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 156 | let cfg = self.config.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 157 | let r_tx = self.reader_tx.clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 158 | tokio::spawn(async move { PeerStreamActor::reader(r_tx, reader, cfg).await }) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/stream.rs:164:82 [INFO] [stdout] | [INFO] [stdout] 153 | let (reader, writer) = stream.into_split(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 162 | let cfg = self.config.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 163 | let w_rx = self.writer_rx.take().unwrap(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 164 | tokio::spawn(async move { PeerStreamActor::writer(w_rx, writer, cfg).await }) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/listener.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(outbox: Sender, config: ListenerConfig) -> (Self, JoinHandle<()>) { [INFO] [stdout] | ------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 35 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 36 | let mut l = ListenerActor::new(rx, outbox, config); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 37 | let j = tokio::spawn(async move { l.run().await }); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | (Listener { sender: tx }, j) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/listener.rs:37:51 [INFO] [stdout] | [INFO] [stdout] 36 | let mut l = ListenerActor::new(rx, outbox, config); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 37 | let j = tokio::spawn(async move { l.run().await }); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/util/amount.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 46 | fn serialize(&self, serializer: S) -> Result where S: Serializer { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 47 | Ok(f64::serialize(&self.as_bsv_f64(), serializer)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors; 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bitcoinsv` (lib) due to 15 previous errors; 27 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: method `disconnect` is never used [INFO] [stdout] --> src/p2p/manager.rs:274:14 [INFO] [stdout] | [INFO] [stdout] 203 | impl P2PManagerActor { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | async fn disconnect(&mut self, p: PeerAddress) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `connection_id`, `config`, `data_channel`, `attempts`, `primary_config`, and `peer_address` are never read [INFO] [stdout] --> src/p2p/connection.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 133 | struct ConnectionActor { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 137 | connection_id: Uuid, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 138 | // the configuration for the connection, we'll need this when we support multiple channels [INFO] [stdout] 139 | config: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 140 | // the channel on which to send substantive P2P messages [INFO] [stdout] 141 | data_channel: P2PMessageChannelSender, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 142 | // number of attempts to connect [INFO] [stdout] 143 | attempts: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | primary_config: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 150 | // the peer [INFO] [stdout] 151 | peer_address: PeerAddress, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `WaitForRetry` is never constructed [INFO] [stdout] --> src/p2p/stream.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 105 | pub enum StreamState { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 110 | WaitForRetry, // waiting for a retry [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StreamState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListenerConfig` is never constructed [INFO] [stdout] --> src/p2p/listener.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ListenerConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/p2p/listener.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ListenerConfig { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 16 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Listener` is never constructed [INFO] [stdout] --> src/p2p/listener.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Listener { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_port` are never used [INFO] [stdout] --> src/p2p/listener.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Listener { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 34 | pub fn new(outbox: Sender, config: ListenerConfig) -> (Self, JoinHandle<()>) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub async fn get_port(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ListenerMessage` is never used [INFO] [stdout] --> src/p2p/listener.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | pub enum ListenerMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ListenerInternalMessage` is never used [INFO] [stdout] --> src/p2p/listener.rs:52:6 [INFO] [stdout] | [INFO] [stdout] 52 | enum ListenerInternalMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListenerActor` is never constructed [INFO] [stdout] --> src/p2p/listener.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | struct ListenerActor { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `run` are never used [INFO] [stdout] --> src/p2p/listener.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 63 | impl ListenerActor { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 64 | fn new(inbox: Receiver, outbox: Sender, config: ListenerConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | async fn run(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_NETWORK` is never used [INFO] [stdout] --> src/p2p/messages/version.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const NODE_NETWORK: u64 = 1; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ALERT` is never used [INFO] [stdout] --> src/p2p/messages/messages.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | pub const ALERT: [u8; 12] = *b"alert\0\0\0\0\0\0\0"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCKTXN` is never used [INFO] [stdout] --> src/p2p/messages/messages.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | pub const BLOCKTXN: [u8; 12] = *b"blocktxn\0\0\0\0"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CMPCTBLOCK` is never used [INFO] [stdout] --> src/p2p/messages/messages.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 87 | pub const CMPCTBLOCK: [u8; 12] = *b"cmpctblock\0\0"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GETBLOCKTXN` is never used [INFO] [stdout] --> src/p2p/messages/messages.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | pub const GETBLOCKTXN: [u8; 12] = *b"getblocktxn\0"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_MALFORMED` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const REJECT_MALFORMED: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_OBSOLETE` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const REJECT_OBSOLETE: u8 = 0x11; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_DUPLICATE` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const REJECT_DUPLICATE: u8 = 0x12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_NONSTANDARD` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const REJECT_NONSTANDARD: u8 = 0x40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_DUST` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const REJECT_DUST: u8 = 0x41; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_INSUFFICIENT_FEE` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const REJECT_INSUFFICIENT_FEE: u8 = 0x42; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_CHECKPOINT` is never used [INFO] [stdout] --> src/p2p/messages/reject.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const REJECT_CHECKPOINT: u8 = 0x43; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `port` is never read [INFO] [stdout] --> src/p2p/params.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct NetworkParams { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub port: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkParams` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TX_SIZE` is never used [INFO] [stdout] --> src/p2p/params.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub const MAX_TX_SIZE: u64 = 1_000_000_000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/bitcoin/hash.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 161 | fn deserialize(deserializer: D) -> Result where D: Deserializer<'de> { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 162 | let s = String::deserialize(deserializer)?; [INFO] [stdout] 163 | Hash::from_hex(s).map_err(|e| serde::de::Error::custom(e.to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/bitcoin/block.rs:75:63 [INFO] [stdout] | [INFO] [stdout] 74 | let mut tx_reader = FullBlockTxReader::new(num_tx, reader, sender); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 75 | let _h = tokio::spawn(async move {tx_reader.read_tx().await}); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/manager.rs:127:10 [INFO] [stdout] | [INFO] [stdout] 124 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 125 | let (data_tx, _data_rx) = tokio::sync::broadcast::channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | ------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 126 | let d_tx2 = data_tx.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 127 | (P2PManager { [INFO] [stdout] | __________^ [INFO] [stdout] 128 | | mgr_sender: tx, [INFO] [stdout] 129 | | data_channel: data_tx, [INFO] [stdout] 130 | | }, tokio::spawn(async move { P2PManagerActor::new(rx, config, d_tx2).await })) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/manager.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 124 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 125 | let (data_tx, _data_rx) = tokio::sync::broadcast::channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | ------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 126 | let d_tx2 = data_tx.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 130 | }, tokio::spawn(async move { P2PManagerActor::new(rx, config, d_tx2).await })) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/manager.rs:130:78 [INFO] [stdout] | [INFO] [stdout] 124 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 125 | let (data_tx, _data_rx) = tokio::sync::broadcast::channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] 126 | let d_tx2 = data_tx.clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 130 | }, tokio::spawn(async move { P2PManagerActor::new(rx, config, d_tx2).await })) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/connection.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn new(peer: PeerAddress, config: Arc, data_channel: Option) -> (Connection, JoinHandl... [INFO] [stdout] | ----------------------------- --------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | // actor channel [INFO] [stdout] 99 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 100 | // data channel [INFO] [stdout] 101 | let d_channel = if data_channel.is_none() { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 102 | let (tx, _rx) = tokio::sync::broadcast::channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 107 | let d_chan2 = d_channel.clone(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 111 | let j = tokio::spawn(async move { ConnectionActor::new(rx, p_c, c_id2, config, d_chan2).await }); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | (Connection { peer, connection_id, data_channel: d_channel, sender: tx, }, j) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/connection.rs:111:97 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn new(peer: PeerAddress, config: Arc, data_channel: Option) -> (Connection, JoinHandl... [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | // actor channel [INFO] [stdout] 99 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 107 | let d_chan2 = d_channel.clone(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 111 | let j = tokio::spawn(async move { ConnectionActor::new(rx, p_c, c_id2, config, d_chan2).await }); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/stream.rs:91:10 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn new(address: PeerAddress, config: Arc>, data_channel: P2PMessageChannelSender) -> (Self, JoinHandle<()>) { [INFO] [stdout] | --------------------------------- ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 89 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 90 | let j = tokio::spawn(async move { PeerStreamActor::new(rx, address, config, data_channel).await }); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 91 | (PeerStream { sender: tx }, j) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/stream.rs:90:99 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn new(address: PeerAddress, config: Arc>, data_channel: P2PMessageChannelSender) -> (Self, JoinHandle<()>) { [INFO] [stdout] | ------ ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 89 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 90 | let j = tokio::spawn(async move { PeerStreamActor::new(rx, address, config, data_channel).await }); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/stream.rs:158:82 [INFO] [stdout] | [INFO] [stdout] 153 | let (reader, writer) = stream.into_split(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 156 | let cfg = self.config.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 157 | let r_tx = self.reader_tx.clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 158 | tokio::spawn(async move { PeerStreamActor::reader(r_tx, reader, cfg).await }) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/stream.rs:164:82 [INFO] [stdout] | [INFO] [stdout] 153 | let (reader, writer) = stream.into_split(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 162 | let cfg = self.config.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 163 | let w_rx = self.writer_rx.take().unwrap(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 164 | tokio::spawn(async move { PeerStreamActor::writer(w_rx, writer, cfg).await }) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/listener.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(outbox: Sender, config: ListenerConfig) -> (Self, JoinHandle<()>) { [INFO] [stdout] | ------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 35 | let (tx, rx) = channel(ACTOR_CHANNEL_SIZE); [INFO] [stdout] | -- -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 36 | let mut l = ListenerActor::new(rx, outbox, config); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 37 | let j = tokio::spawn(async move { l.run().await }); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | (Listener { sender: tx }, j) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/listener.rs:37:51 [INFO] [stdout] | [INFO] [stdout] 36 | let mut l = ListenerActor::new(rx, outbox, config); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 37 | let j = tokio::spawn(async move { l.run().await }); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/util/amount.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 46 | fn serialize(&self, serializer: S) -> Result where S: Serializer { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 47 | Ok(f64::serialize(&self.as_bsv_f64(), serializer)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors; 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bitcoinsv` (lib test) due to 15 previous errors; 26 warnings emitted [INFO] running `Command { std: "docker" "inspect" "3b570b3da8aeb32f4442e9cf45c1b191f483d7e52125bbd379d7283f756bfe7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b570b3da8aeb32f4442e9cf45c1b191f483d7e52125bbd379d7283f756bfe7d", kill_on_drop: false }` [INFO] [stdout] 3b570b3da8aeb32f4442e9cf45c1b191f483d7e52125bbd379d7283f756bfe7d