[INFO] fetching crate bitcoinsv 0.2.7... [INFO] checking bitcoinsv-0.2.7 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate bitcoinsv 0.2.7 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate bitcoinsv 0.2.7 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate bitcoinsv 0.2.7 [INFO] finished tweaking crates.io crate bitcoinsv 0.2.7 [INFO] tweaked toml for crates.io crate bitcoinsv 0.2.7 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 98 packages to latest compatible versions [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] acc0ae4696a0e070c4dff04b5d673478b937b237b482601339067b72a7848c6c [INFO] running `Command { std: "docker" "start" "-a" "acc0ae4696a0e070c4dff04b5d673478b937b237b482601339067b72a7848c6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "acc0ae4696a0e070c4dff04b5d673478b937b237b482601339067b72a7848c6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acc0ae4696a0e070c4dff04b5d673478b937b237b482601339067b72a7848c6c", kill_on_drop: false }` [INFO] [stdout] acc0ae4696a0e070c4dff04b5d673478b937b237b482601339067b72a7848c6c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 30df4335bd4e92a2a93e0081bae19cb18fd76fffdabb8bcc6f2f24fc195664cb [INFO] running `Command { std: "docker" "start" "-a" "30df4335bd4e92a2a93e0081bae19cb18fd76fffdabb8bcc6f2f24fc195664cb", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling secp256k1-sys v0.10.1 [INFO] [stderr] Checking base58 v0.2.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking ring v0.17.8 [INFO] [stderr] Checking ripemd v0.1.3 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.79 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling uuid-macro-internal v1.10.0 [INFO] [stderr] Compiling trait-variant v0.1.2 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking futures-util v0.3.30 [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 secp256k1 v0.29.1 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Checking tokio-stream v0.1.16 [INFO] [stderr] Checking minactor v0.3.0 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking bitcoinsv v0.2.7 (/opt/rustwide/workdir) [INFO] [stdout] error: this value of type `std::option::Option` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/channel.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 267 | async fn writer(mut rx: Receiver, mut writer: tokio::net::tcp::OwnedWriteHalf, [INFO] [stdout] | ------ ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 268 | shared_config: Arc>, cancel_token: CancellationToken) { [INFO] [stdout] | ------------ these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 271 | / select! { [INFO] [stdout] 272 | | _ = cancel_token.cancelled() => { break; } [INFO] [stdout] 273 | | msg = rx.recv() => { [INFO] [stdout] | | ^^^ [INFO] [stdout] 274 | | match msg { [INFO] [stdout] ... | [INFO] [stdout] 279 | | / select! { [INFO] [stdout] 280 | | | _ = cancel_token.cancelled() => { break; } [INFO] [stdout] 281 | | | r = msg.write(&mut writer, &config) => { [INFO] [stdout] 282 | | | match r { [INFO] [stdout] ... | | [INFO] [stdout] 288 | | | } [INFO] [stdout] 289 | | | } [INFO] [stdout] | | | - [INFO] [stdout] | | |_____________________________| [INFO] [stdout] | | |_____________________________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 295 | | | } [INFO] [stdout] 296 | | | } [INFO] [stdout] | | | - [INFO] [stdout] | |_|_____________| [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | these local bindings with significant drop implementation may 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] warning: unused import: `futures::SinkExt` [INFO] [stdout] --> src/p2p/channel.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use futures::SinkExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `InternalError` is more private than the item `BsvError::InternalError::0` [INFO] [stdout] --> src/result.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | InternalError(InternalError), [INFO] [stdout] | ^^^^^^^^^^^^^ field `BsvError::InternalError::0` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `InternalError` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/result.rs:114:1 [INFO] [stdout] | [INFO] [stdout] 114 | pub(crate) enum InternalError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_BLOCK_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | static CRULE_MAX_BLOCK_SIZE: AtomicU64 = AtomicU64::new(4_000_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_BLOCK_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | static POLICY_MAX_BLOCK_SIZE: AtomicU64 = AtomicU64::new(10_000_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_BLOCK_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn MAX_BLOCK_SIZE(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_TX_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | static CRULE_MAX_TX_SIZE: AtomicU64 = AtomicU64::new(1_000_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_TX_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | static POLICY_MAX_TX_SIZE: AtomicU64 = AtomicU64::new(10_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_TX_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn MAX_TX_SIZE(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_BYTE_SEQ_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | static CRULE_MAX_BYTE_SEQ_LEN: AtomicU64 = AtomicU64::new(u32::MAX as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_BYTE_SEQ_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | static POLICY_MAX_BYTE_SEQ_LEN: AtomicU64 = AtomicU64::new(u32::MAX as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_BYTE_SEQ_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn MAX_BYTE_SEQ_LEN(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_MULTISIG_KEYS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | static CRULE_MAX_MULTISIG_KEYS: AtomicU64 = AtomicU64::new(i32::MAX as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_MULTISIG_KEYS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | static POLICY_MAX_MULTISIG_KEYS: AtomicU64 = AtomicU64::new(32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_MULTISIG_KEYS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn MAX_MULTISIG_KEYS(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CRULE_MAX_STACK_MEM` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:95:7 [INFO] [stdout] | [INFO] [stdout] 95 | const CRULE_MAX_STACK_MEM: AtomicU64 = AtomicU64::new(200_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLICY_MAX_STACK_MEM` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:98:7 [INFO] [stdout] | [INFO] [stdout] 98 | const POLICY_MAX_STACK_MEM: AtomicU64 = AtomicU64::new(100_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_STACK_MEM` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn MAX_STACK_MEM(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLICY_TX_EVAL_TIMEOUT_MS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:114:7 [INFO] [stdout] | [INFO] [stdout] 114 | const POLICY_TX_EVAL_TIMEOUT_MS: AtomicU64 = AtomicU64::new(1_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TX_EVALE_TIMEOUT_MS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn TX_EVALE_TIMEOUT_MS() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_NUMERIC_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | static CRULE_MAX_NUMERIC_LEN: AtomicU64 = AtomicU64::new(750_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_NUMERIC_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | static POLICY_MAX_NUMERIC_LEN: AtomicU64 = AtomicU64::new(250_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_NUMERIC_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn MAX_NUMERIC_LEN(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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:149:5 [INFO] [stdout] | [INFO] [stdout] 145 | struct ConnectionActor { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 149 | connection_id: Uuid, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 150 | // the configuration for the connection, we'll need this when we support multiple channels [INFO] [stdout] 151 | config: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 152 | // the channel on which to send substantive P2P messages [INFO] [stdout] 153 | data_channel: P2PMessageChannelSender, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 154 | // number of attempts to connect [INFO] [stdout] 155 | attempts: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | primary_config: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 162 | // the peer [INFO] [stdout] 163 | peer_address: PeerAddress, [INFO] [stdout] | ^^^^^^^^^^^^ [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: methods `disconnect` and `start_dns_query` are never used [INFO] [stdout] --> src/p2p/manager.rs:229:14 [INFO] [stdout] | [INFO] [stdout] 201 | impl P2PManagerActor { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 229 | async fn disconnect(&mut self, p: PeerAddress) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn start_dns_query(&self) {} // todo [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:77:15 [INFO] [stdout] | [INFO] [stdout] 77 | 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:83:15 [INFO] [stdout] | [INFO] [stdout] 83 | 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:86:15 [INFO] [stdout] | [INFO] [stdout] 86 | 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:101:15 [INFO] [stdout] | [INFO] [stdout] 101 | 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] warning: field `actor_ref` is never read [INFO] [stdout] --> src/p2p/channel.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct PeerChannel { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 89 | actor_ref: ActorRef, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `WaitForRetry` is never constructed [INFO] [stdout] --> src/p2p/channel.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub enum ChannelState { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 125 | WaitForRetry, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChannelState` 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: variant `Dummy` is never constructed [INFO] [stdout] --> src/result.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub(crate) enum InternalError { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] 115 | Dummy, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InternalError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 50 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bitcoinsv` (lib) due to 2 previous errors; 50 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this value of type `std::option::Option` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/p2p/channel.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 267 | async fn writer(mut rx: Receiver, mut writer: tokio::net::tcp::OwnedWriteHalf, [INFO] [stdout] | ------ ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 268 | shared_config: Arc>, cancel_token: CancellationToken) { [INFO] [stdout] | ------------ these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 271 | / select! { [INFO] [stdout] 272 | | _ = cancel_token.cancelled() => { break; } [INFO] [stdout] 273 | | msg = rx.recv() => { [INFO] [stdout] | | ^^^ [INFO] [stdout] 274 | | match msg { [INFO] [stdout] ... | [INFO] [stdout] 279 | | / select! { [INFO] [stdout] 280 | | | _ = cancel_token.cancelled() => { break; } [INFO] [stdout] 281 | | | r = msg.write(&mut writer, &config) => { [INFO] [stdout] 282 | | | match r { [INFO] [stdout] ... | | [INFO] [stdout] 288 | | | } [INFO] [stdout] 289 | | | } [INFO] [stdout] | | | - [INFO] [stdout] | | |_____________________________| [INFO] [stdout] | | |_____________________________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 295 | | | } [INFO] [stdout] 296 | | | } [INFO] [stdout] | | | - [INFO] [stdout] | |_|_____________| [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | |_|_____________these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | these local bindings with significant drop implementation may 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] warning: unused import: `futures::SinkExt` [INFO] [stdout] --> src/p2p/channel.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use futures::SinkExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `InternalError` is more private than the item `BsvError::InternalError::0` [INFO] [stdout] --> src/result.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | InternalError(InternalError), [INFO] [stdout] | ^^^^^^^^^^^^^ field `BsvError::InternalError::0` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `InternalError` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/result.rs:114:1 [INFO] [stdout] | [INFO] [stdout] 114 | pub(crate) enum InternalError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_BLOCK_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | static CRULE_MAX_BLOCK_SIZE: AtomicU64 = AtomicU64::new(4_000_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_BLOCK_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | static POLICY_MAX_BLOCK_SIZE: AtomicU64 = AtomicU64::new(10_000_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_BLOCK_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn MAX_BLOCK_SIZE(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_TX_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | static CRULE_MAX_TX_SIZE: AtomicU64 = AtomicU64::new(1_000_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_TX_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | static POLICY_MAX_TX_SIZE: AtomicU64 = AtomicU64::new(10_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_TX_SIZE` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn MAX_TX_SIZE(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_BYTE_SEQ_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | static CRULE_MAX_BYTE_SEQ_LEN: AtomicU64 = AtomicU64::new(u32::MAX as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_BYTE_SEQ_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | static POLICY_MAX_BYTE_SEQ_LEN: AtomicU64 = AtomicU64::new(u32::MAX as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_BYTE_SEQ_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn MAX_BYTE_SEQ_LEN(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_MULTISIG_KEYS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | static CRULE_MAX_MULTISIG_KEYS: AtomicU64 = AtomicU64::new(i32::MAX as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_MULTISIG_KEYS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | static POLICY_MAX_MULTISIG_KEYS: AtomicU64 = AtomicU64::new(32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_MULTISIG_KEYS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn MAX_MULTISIG_KEYS(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CRULE_MAX_STACK_MEM` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:95:7 [INFO] [stdout] | [INFO] [stdout] 95 | const CRULE_MAX_STACK_MEM: AtomicU64 = AtomicU64::new(200_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLICY_MAX_STACK_MEM` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:98:7 [INFO] [stdout] | [INFO] [stdout] 98 | const POLICY_MAX_STACK_MEM: AtomicU64 = AtomicU64::new(100_000_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_STACK_MEM` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn MAX_STACK_MEM(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLICY_TX_EVAL_TIMEOUT_MS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:114:7 [INFO] [stdout] | [INFO] [stdout] 114 | const POLICY_TX_EVAL_TIMEOUT_MS: AtomicU64 = AtomicU64::new(1_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TX_EVALE_TIMEOUT_MS` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn TX_EVALE_TIMEOUT_MS() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CRULE_MAX_NUMERIC_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | static CRULE_MAX_NUMERIC_LEN: AtomicU64 = AtomicU64::new(750_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POLICY_MAX_NUMERIC_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | static POLICY_MAX_NUMERIC_LEN: AtomicU64 = AtomicU64::new(250_000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MAX_NUMERIC_LEN` is never used [INFO] [stdout] --> src/bitcoin/rules.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn MAX_NUMERIC_LEN(policy: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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:149:5 [INFO] [stdout] | [INFO] [stdout] 145 | struct ConnectionActor { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 149 | connection_id: Uuid, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 150 | // the configuration for the connection, we'll need this when we support multiple channels [INFO] [stdout] 151 | config: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 152 | // the channel on which to send substantive P2P messages [INFO] [stdout] 153 | data_channel: P2PMessageChannelSender, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 154 | // number of attempts to connect [INFO] [stdout] 155 | attempts: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | primary_config: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 162 | // the peer [INFO] [stdout] 163 | peer_address: PeerAddress, [INFO] [stdout] | ^^^^^^^^^^^^ [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: methods `disconnect` and `start_dns_query` are never used [INFO] [stdout] --> src/p2p/manager.rs:229:14 [INFO] [stdout] | [INFO] [stdout] 201 | impl P2PManagerActor { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 229 | async fn disconnect(&mut self, p: PeerAddress) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn start_dns_query(&self) {} // todo [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:77:15 [INFO] [stdout] | [INFO] [stdout] 77 | 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:83:15 [INFO] [stdout] | [INFO] [stdout] 83 | 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:86:15 [INFO] [stdout] | [INFO] [stdout] 86 | 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:101:15 [INFO] [stdout] | [INFO] [stdout] 101 | 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] warning: field `actor_ref` is never read [INFO] [stdout] --> src/p2p/channel.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct PeerChannel { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 89 | actor_ref: ActorRef, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `WaitForRetry` is never constructed [INFO] [stdout] --> src/p2p/channel.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub enum ChannelState { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 125 | WaitForRetry, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChannelState` 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: variant `Dummy` is never constructed [INFO] [stdout] --> src/result.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub(crate) enum InternalError { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] 115 | Dummy, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InternalError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 49 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bitcoinsv` (lib test) due to 2 previous errors; 49 warnings emitted [INFO] running `Command { std: "docker" "inspect" "30df4335bd4e92a2a93e0081bae19cb18fd76fffdabb8bcc6f2f24fc195664cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "30df4335bd4e92a2a93e0081bae19cb18fd76fffdabb8bcc6f2f24fc195664cb", kill_on_drop: false }` [INFO] [stdout] 30df4335bd4e92a2a93e0081bae19cb18fd76fffdabb8bcc6f2f24fc195664cb