[INFO] cloning repository https://github.com/Erik-Sanjaya/copper [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Erik-Sanjaya/copper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErik-Sanjaya%2Fcopper", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErik-Sanjaya%2Fcopper'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e3732971ff75c61270acf2cef1a7374ea9d5e6dd [INFO] checking Erik-Sanjaya/copper/e3732971ff75c61270acf2cef1a7374ea9d5e6dd against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErik-Sanjaya%2Fcopper" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Erik-Sanjaya/copper 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 git repo https://github.com/Erik-Sanjaya/copper [INFO] finished tweaking git repo https://github.com/Erik-Sanjaya/copper [INFO] tweaked toml for git repo https://github.com/Erik-Sanjaya/copper written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Erik-Sanjaya/copper already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] dd11f695de89fd827cc57f36001a7c3fba781fa8680767be1fa730b98849d090 [INFO] running `Command { std: "docker" "start" "-a" "dd11f695de89fd827cc57f36001a7c3fba781fa8680767be1fa730b98849d090", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dd11f695de89fd827cc57f36001a7c3fba781fa8680767be1fa730b98849d090", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dd11f695de89fd827cc57f36001a7c3fba781fa8680767be1fa730b98849d090", kill_on_drop: false }` [INFO] [stdout] dd11f695de89fd827cc57f36001a7c3fba781fa8680767be1fa730b98849d090 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 8164bce591c37bf5c6f52c993da7394e0cf35918ce31cb0ee4524d8078436da1 [INFO] running `Command { std: "docker" "start" "-a" "8164bce591c37bf5c6f52c993da7394e0cf35918ce31cb0ee4524d8078436da1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.152 [INFO] [stderr] Checking smallvec v1.11.2 [INFO] [stderr] Compiling serde v1.0.195 [INFO] [stderr] Compiling anyhow v1.0.79 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Compiling serde_json v1.0.111 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Compiling proc-macro2 v1.0.76 [INFO] [stderr] Checking thread_local v1.1.7 [INFO] [stderr] Checking ryu v1.0.16 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking mio v0.8.10 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking socket2 v0.5.5 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Compiling serde_derive v1.0.195 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Checking tokio v1.35.1 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking uuid v1.6.1 [INFO] [stderr] Checking copper v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/status.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{error, trace}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `packet` [INFO] [stdout] --> src/status.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{packet, server_status::ServerStatus}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ops::Index` [INFO] [stdout] --> src/main.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | use std::{net::SocketAddr, ops::Index}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc::channel` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::sync::mpsc::channel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/status.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{error, trace}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `packet` [INFO] [stdout] --> src/status.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{packet, server_status::ServerStatus}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ops::Index` [INFO] [stdout] --> src/main.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | use std::{net::SocketAddr, ops::Index}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc::channel` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::sync::mpsc::channel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/packet.rs:83:36 [INFO] [stdout] | [INFO] [stdout] 83 | ServerBound::Handshake(req) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/packet.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | state: &State, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/packet.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | Self::Play(_) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^ matches no values because `play::ClientBound` is uninhabited [INFO] [stdout] | [INFO] [stdout] = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/play.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn from_request(request: ServerBound) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/packet.rs:83:36 [INFO] [stdout] | [INFO] [stdout] 83 | ServerBound::Handshake(req) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/packet.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | state: &State, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/packet.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | Self::Play(_) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^ matches no values because `play::ClientBound` is uninhabited [INFO] [stdout] | [INFO] [stdout] = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/play.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn from_request(request: ServerBound) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BundleDelimiter` is more private than the item `play::ServerBound::BundleDelimiter::0` [INFO] [stdout] --> src/play.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | BundleDelimiter(BundleDelimiter), [INFO] [stdout] | ^^^^^^^^^^^^^^^ field `play::ServerBound::BundleDelimiter::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BundleDelimiter` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/play.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | struct BundleDelimiter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/handshaking.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | Legacy(Legacy), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ServerBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | Legacy(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `payload` is never read [INFO] [stdout] --> src/handshaking.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct Legacy { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 98 | pub payload: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Legacy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Disconnect`, `EncryptionRequest`, `SetCompression`, and `LoginPluginRequest` are never constructed [INFO] [stdout] --> src/login.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ClientBound { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 25 | Disconnect(Disconnect), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 26 | EncryptionRequest(EncryptionRequest), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | LoginSuccess(LoginSuccess), [INFO] [stdout] 28 | SetCompression(SetCompression), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 29 | LoginPluginRequest(PluginRequest), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/login.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl Disconnect { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 75 | pub const fn new(reason: ProtocolString) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `server_id`, `public_key_length`, `public_key`, `verify_token_length`, and `verify_token` are never read [INFO] [stdout] --> src/login.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct EncryptionRequest { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 99 | server_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 100 | public_key_length: VarInt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | public_key: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 102 | verify_token_length: VarInt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | verify_token: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncryptionRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `value`, `is_signed`, and `signature` are never read [INFO] [stdout] --> src/login.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 120 | struct Property { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 121 | name: ProtocolString, [INFO] [stdout] | ^^^^ [INFO] [stdout] 122 | value: ProtocolString, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 123 | is_signed: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 124 | signature: ProtocolString, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Property` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threshold` is never read [INFO] [stdout] --> src/login.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 159 | pub struct SetCompression { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 160 | threshold: VarInt, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SetCompression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message_id`, `channel`, and `data` are never read [INFO] [stdout] --> src/login.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct PluginRequest { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 165 | message_id: VarInt, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 166 | channel: ProtocolString, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 167 | data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PluginRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EncryptionResponse` and `LoginPluginResponse` are never constructed [INFO] [stdout] --> src/login.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 171 | pub enum ServerBound { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 172 | LoginStart(LoginStart), [INFO] [stdout] 173 | EncryptionResponse(EncryptionResponse), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | LoginPluginResponse(LoginPluginResponse), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `has_player_uuid` is never read [INFO] [stdout] --> src/login.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 209 | pub struct LoginStart { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 210 | pub name: ProtocolString, [INFO] [stdout] 211 | pub has_player_uuid: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoginStart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `shared_secret_length`, `shared_secret`, `verify_token_length`, and `verify_token` are never read [INFO] [stdout] --> src/login.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 248 | pub struct EncryptionResponse { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 249 | shared_secret_length: VarInt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 250 | shared_secret: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 251 | verify_token_length: VarInt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 252 | verify_token: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncryptionResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message_id`, `successful`, and `data` are never read [INFO] [stdout] --> src/login.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 257 | pub struct LoginPluginResponse { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 258 | message_id: VarInt, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 259 | successful: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 260 | data: Option>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoginPluginResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Play` is never constructed [INFO] [stdout] --> src/packet.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub enum ServerBound { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 136 | Play(play::ServerBound), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BundleDelimiter` is never constructed [INFO] [stdout] --> src/play.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ServerBound { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 5 | BundleDelimiter(BundleDelimiter), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Status` is never constructed [INFO] [stdout] --> src/status.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Status` and `Ping` are never constructed [INFO] [stdout] --> src/status.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub enum PacketId { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 185 | Status = 0x00, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 186 | Ping = 0x01, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PacketId` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_varint` is never used [INFO] [stdout] --> src/status.rs:190:14 [INFO] [stdout] | [INFO] [stdout] 189 | impl PacketId { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 190 | const fn to_varint(&self) -> VarInt { [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/client.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 33 | stream: TcpStream, [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 34 | addr: SocketAddr, [INFO] [stdout] 35 | tx: tokio::sync::mpsc::Sender, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 39 | stream: BufReader::new(stream), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [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 `Result` that must be used [INFO] [stdout] --> src/client.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | self.disconnect_tx.send(self.addr).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 88 | let _ = self.disconnect_tx.send(self.addr).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BundleDelimiter` is more private than the item `play::ServerBound::BundleDelimiter::0` [INFO] [stdout] --> src/play.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | BundleDelimiter(BundleDelimiter), [INFO] [stdout] | ^^^^^^^^^^^^^^^ field `play::ServerBound::BundleDelimiter::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BundleDelimiter` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/play.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | struct BundleDelimiter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/handshaking.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | Legacy(Legacy), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ServerBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | Legacy(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `payload` is never read [INFO] [stdout] --> src/handshaking.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct Legacy { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 98 | pub payload: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Legacy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Disconnect`, `EncryptionRequest`, `SetCompression`, and `LoginPluginRequest` are never constructed [INFO] [stdout] --> src/login.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ClientBound { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 25 | Disconnect(Disconnect), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 26 | EncryptionRequest(EncryptionRequest), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | LoginSuccess(LoginSuccess), [INFO] [stdout] 28 | SetCompression(SetCompression), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 29 | LoginPluginRequest(PluginRequest), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/login.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 74 | impl Disconnect { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 75 | pub const fn new(reason: ProtocolString) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `server_id`, `public_key_length`, `public_key`, `verify_token_length`, and `verify_token` are never read [INFO] [stdout] --> src/login.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct EncryptionRequest { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 99 | server_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 100 | public_key_length: VarInt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | public_key: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 102 | verify_token_length: VarInt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | verify_token: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncryptionRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `value`, `is_signed`, and `signature` are never read [INFO] [stdout] --> src/login.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 120 | struct Property { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 121 | name: ProtocolString, [INFO] [stdout] | ^^^^ [INFO] [stdout] 122 | value: ProtocolString, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 123 | is_signed: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 124 | signature: ProtocolString, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Property` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threshold` is never read [INFO] [stdout] --> src/login.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 159 | pub struct SetCompression { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 160 | threshold: VarInt, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SetCompression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message_id`, `channel`, and `data` are never read [INFO] [stdout] --> src/login.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct PluginRequest { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 165 | message_id: VarInt, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 166 | channel: ProtocolString, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 167 | data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PluginRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EncryptionResponse` and `LoginPluginResponse` are never constructed [INFO] [stdout] --> src/login.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 171 | pub enum ServerBound { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 172 | LoginStart(LoginStart), [INFO] [stdout] 173 | EncryptionResponse(EncryptionResponse), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | LoginPluginResponse(LoginPluginResponse), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `has_player_uuid` is never read [INFO] [stdout] --> src/login.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 209 | pub struct LoginStart { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 210 | pub name: ProtocolString, [INFO] [stdout] 211 | pub has_player_uuid: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoginStart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `shared_secret_length`, `shared_secret`, `verify_token_length`, and `verify_token` are never read [INFO] [stdout] --> src/login.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 248 | pub struct EncryptionResponse { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 249 | shared_secret_length: VarInt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 250 | shared_secret: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 251 | verify_token_length: VarInt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 252 | verify_token: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncryptionResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message_id`, `successful`, and `data` are never read [INFO] [stdout] --> src/login.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 257 | pub struct LoginPluginResponse { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 258 | message_id: VarInt, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 259 | successful: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 260 | data: Option>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoginPluginResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Play` is never constructed [INFO] [stdout] --> src/packet.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub enum ServerBound { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 136 | Play(play::ServerBound), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BundleDelimiter` is never constructed [INFO] [stdout] --> src/play.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ServerBound { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 5 | BundleDelimiter(BundleDelimiter), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerBound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Status` is never constructed [INFO] [stdout] --> src/status.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Status` and `Ping` are never constructed [INFO] [stdout] --> src/status.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub enum PacketId { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 185 | Status = 0x00, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 186 | Ping = 0x01, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PacketId` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `copper` (bin "copper") due to 2 previous errors; 27 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: method `to_varint` is never used [INFO] [stdout] --> src/status.rs:190:14 [INFO] [stdout] | [INFO] [stdout] 189 | impl PacketId { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 190 | const fn to_varint(&self) -> VarInt { [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/client.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 33 | stream: TcpStream, [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 34 | addr: SocketAddr, [INFO] [stdout] 35 | tx: tokio::sync::mpsc::Sender, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 39 | stream: BufReader::new(stream), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [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 `Result` that must be used [INFO] [stdout] --> src/client.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | self.disconnect_tx.send(self.addr).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 88 | let _ = self.disconnect_tx.send(self.addr).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `copper` (bin "copper" test) due to 2 previous errors; 27 warnings emitted [INFO] running `Command { std: "docker" "inspect" "8164bce591c37bf5c6f52c993da7394e0cf35918ce31cb0ee4524d8078436da1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8164bce591c37bf5c6f52c993da7394e0cf35918ce31cb0ee4524d8078436da1", kill_on_drop: false }` [INFO] [stdout] 8164bce591c37bf5c6f52c993da7394e0cf35918ce31cb0ee4524d8078436da1