[INFO] cloning repository https://github.com/alexcatdogiscool/distr-asg2 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alexcatdogiscool/distr-asg2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexcatdogiscool%2Fdistr-asg2", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexcatdogiscool%2Fdistr-asg2'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f1b162a93a66003403beb02392f1cd9c494a4703 [INFO] checking alexcatdogiscool/distr-asg2 against master#1b8f2e46e14b08208a53585570edd9206374aae8 for pr-155418 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexcatdogiscool%2Fdistr-asg2" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/alexcatdogiscool/distr-asg2 [INFO] finished tweaking git repo https://github.com/alexcatdogiscool/distr-asg2 [INFO] tweaked toml for git repo https://github.com/alexcatdogiscool/distr-asg2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/alexcatdogiscool/distr-asg2 on toolchain 1b8f2e46e14b08208a53585570edd9206374aae8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1b8f2e46e14b08208a53585570edd9206374aae8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/alexcatdogiscool/distr-asg2 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" "+1b8f2e46e14b08208a53585570edd9206374aae8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.116 [INFO] [stderr] Downloaded data-encoding-macro-internal v0.1.17 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.116 [INFO] [stderr] Downloaded if-watch v3.2.2 [INFO] [stderr] Downloaded netlink-sys v0.8.8 [INFO] [stderr] Downloaded if-addrs v0.15.0 [INFO] [stderr] Downloaded line-clipping v0.3.7 [INFO] [stderr] Downloaded wasm-bindgen v0.2.116 [INFO] [stderr] Downloaded local-ip-address v0.6.11 [INFO] [stderr] Downloaded netlink-proto v0.12.0 [INFO] [stderr] Downloaded libp2p-tcp v0.44.1 [INFO] [stderr] Downloaded js-sys v0.3.93 [INFO] [stderr] Downloaded libp2p-rendezvous v0.17.1 [INFO] [stderr] Downloaded netlink-packet-core v0.8.1 [INFO] [stderr] Downloaded match-lookup v0.1.2 [INFO] [stderr] Downloaded yamux v0.13.10 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.116 [INFO] [stderr] Downloaded rtnetlink v0.20.0 [INFO] [stderr] Downloaded data-encoding-macro v0.1.19 [INFO] [stderr] Downloaded libp2p-core v0.43.2 [INFO] [stderr] Downloaded libp2p-swarm v0.47.1 [INFO] [stderr] Downloaded libp2p-kad v0.48.0 [INFO] [stderr] Downloaded libp2p-gossipsub v0.49.4 [INFO] [stderr] Downloaded rusqlite v0.39.0 [INFO] [stderr] Downloaded netlink-packet-route v0.28.0 [INFO] [stderr] Downloaded libsqlite3-sys v0.37.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1b8f2e46e14b08208a53585570edd9206374aae8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5a31ca0dff5ba9424acb1fa808ca2a11fa35cf274b83fac71987437cd8506b81 [INFO] running `Command { std: "docker" "start" "-a" "5a31ca0dff5ba9424acb1fa808ca2a11fa35cf274b83fac71987437cd8506b81", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5a31ca0dff5ba9424acb1fa808ca2a11fa35cf274b83fac71987437cd8506b81", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a31ca0dff5ba9424acb1fa808ca2a11fa35cf274b83fac71987437cd8506b81", kill_on_drop: false }` [INFO] [stdout] 5a31ca0dff5ba9424acb1fa808ca2a11fa35cf274b83fac71987437cd8506b81 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1b8f2e46e14b08208a53585570edd9206374aae8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c9d9a581fe9c04bcbc06cc342e2b71837f61942ca8619afb57dbf6e6ef7a0dca [INFO] running `Command { std: "docker" "start" "-a" "c9d9a581fe9c04bcbc06cc342e2b71837f61942ca8619afb57dbf6e6ef7a0dca", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Checking futures-core v0.3.32 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Checking unsigned-varint v0.8.0 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Compiling match-lookup v0.1.2 [INFO] [stderr] Checking quick-protobuf v0.8.1 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Checking core2 v0.4.0 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking const-str v0.4.3 [INFO] [stderr] Checking base-x v0.2.11 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking multihash v0.19.3 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking bs58 v0.5.1 [INFO] [stderr] Checking unsigned-varint v0.7.2 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking deranged v0.5.8 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking once_cell v1.21.4 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Compiling libp2p-swarm-derive v0.35.1 [INFO] [stderr] Checking base256emoji v1.0.2 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Checking netlink-packet-core v0.8.1 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Checking rusticata-macros v4.1.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling data-encoding-macro-internal v0.1.17 [INFO] [stderr] Compiling asn1-rs-derive v0.6.0 [INFO] [stderr] Checking rustls-pki-types v1.14.0 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Compiling asn1-rs-impl v0.2.0 [INFO] [stderr] Checking castaway v0.2.4 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling oid-registry v0.8.1 [INFO] [stderr] Checking data-encoding-macro v0.1.19 [INFO] [stderr] Checking pin-project v1.1.11 [INFO] [stderr] Checking multibase v0.9.2 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking compact_str v0.9.0 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking mio v1.2.0 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking ed25519-dalek v2.2.0 [INFO] [stderr] Checking time v0.3.47 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking netlink-packet-route v0.28.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking unicode-truncate v2.0.1 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Checking lru v0.16.3 [INFO] [stderr] Checking kasuari v0.4.12 [INFO] [stderr] Compiling quinn-udp v0.5.14 [INFO] [stderr] Checking libp2p-identity v0.2.13 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling prost-derive v0.14.3 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Checking multiaddr v0.18.2 [INFO] [stderr] Checking asn1-rs v0.7.1 [INFO] [stderr] Checking yasna v0.5.2 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking asynchronous-codec v0.7.0 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking futures-bounded v0.2.4 [INFO] [stderr] Checking quick-protobuf-codec v0.3.1 [INFO] [stderr] Checking rw-stream-sink v0.4.0 [INFO] [stderr] Checking multistream-select v0.13.0 [INFO] [stderr] Checking ratatui-core v0.1.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Checking libp2p-core v0.43.2 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Compiling derive_builder_core v0.20.2 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Checking pem v3.0.6 [INFO] [stderr] Checking der-parser v10.0.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling quinn v0.11.9 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking rustc-hash v2.1.2 [INFO] [stderr] Checking lru-slab v0.1.2 [INFO] [stderr] Compiling prost v0.14.3 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Compiling libsqlite3-sys v0.37.0 [INFO] [stderr] Checking x509-parser v0.17.0 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking signal-hook-mio v0.2.5 [INFO] [stderr] Compiling prost-types v0.14.3 [INFO] [stderr] Compiling petgraph v0.8.3 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Compiling derive_builder_macro v0.20.2 [INFO] [stderr] Checking hashlink v0.11.0 [INFO] [stderr] Checking cbor4ii v0.3.3 [INFO] [stderr] Checking line-clipping v0.3.7 [INFO] [stderr] Compiling multimap v0.10.1 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking ratatui-widgets v0.3.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking crossterm v0.29.0 [INFO] [stderr] Checking derive_builder v0.20.2 [INFO] [stderr] Checking uint v0.10.0 [INFO] [stderr] Checking hickory-proto v0.25.2 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Compiling getset v0.1.6 [INFO] [stderr] Compiling neli-proc-macros v0.2.2 [INFO] [stderr] Checking yamux v0.13.10 [INFO] [stderr] Checking libp2p-swarm v0.47.1 [INFO] [stderr] Checking netlink-sys v0.8.8 [INFO] [stderr] Checking rustls-webpki v0.103.10 [INFO] [stderr] Checking rcgen v0.13.2 [INFO] [stderr] Checking yamux v0.12.1 [INFO] [stderr] Checking x25519-dalek v2.0.1 [INFO] [stderr] Checking netlink-proto v0.12.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Checking bimap v0.6.3 [INFO] [stderr] Checking hex_fmt v0.3.0 [INFO] [stderr] Checking ratatui-macros v0.7.0 [INFO] [stderr] Checking ratatui-crossterm v0.1.0 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking libp2p-noise v0.46.1 [INFO] [stderr] Checking libp2p-yamux v0.47.0 [INFO] [stderr] Checking clap v4.6.0 [INFO] [stderr] Checking rtnetlink v0.20.0 [INFO] [stderr] Checking tracing-subscriber v0.3.23 [INFO] [stderr] Checking ratatui v0.30.0 [INFO] [stderr] Compiling prost-build v0.14.3 [INFO] [stderr] Checking libp2p-request-response v0.29.0 [INFO] [stderr] Checking libp2p-gossipsub v0.49.4 [INFO] [stderr] Checking libp2p-kad v0.48.0 [INFO] [stderr] Checking libp2p-connection-limits v0.6.0 [INFO] [stderr] Checking libp2p-allow-block-list v0.6.0 [INFO] [stderr] Checking libp2p-identify v0.47.0 [INFO] [stderr] Checking neli v0.7.4 [INFO] [stderr] Checking uuid v1.23.0 [INFO] [stderr] Checking libp2p-rendezvous v0.17.1 [INFO] [stderr] Checking if-watch v3.2.2 [INFO] [stderr] Checking libp2p-tcp v0.44.1 [INFO] [stderr] Compiling asg2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking libp2p-mdns v0.48.0 [INFO] [stderr] Checking quinn-proto v0.11.14 [INFO] [stderr] Checking futures-rustls v0.26.0 [INFO] [stderr] Checking libp2p-tls v0.6.2 [INFO] [stderr] Checking local-ip-address v0.6.11 [INFO] [stderr] Checking libp2p-quic v0.13.0 [INFO] [stderr] Checking libp2p v0.56.0 [INFO] [stderr] Checking rusqlite v0.39.0 [INFO] [stdout] warning: unused imports: `BufReader`, `fs::File`, `select`, `self`, and `stdin` [INFO] [stdout] --> src/main.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | io::{self, stdin, BufReader, AsyncBufReadExt, AsyncReadExt}, [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] 3 | select, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 4 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `fs::File`, `select`, `self`, and `stdin` [INFO] [stdout] --> src/main.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | io::{self, stdin, BufReader, AsyncBufReadExt, AsyncReadExt}, [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] 3 | select, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 4 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Behaviour`, `Event as KadEvent`, `PublishError`, `QueryResult`, `cbor::codec::Codec`, and `self` [INFO] [stdout] --> src/main.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | gossipsub::{self, PublishError}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 12 | identity::Keypair, [INFO] [stdout] 13 | kad::{Behaviour as KadBehaviour, Config as KadConfig, Event as KadEvent, Mode, QueryResult, store::MemoryStore}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 14 | mdns, noise, [INFO] [stdout] 15 | request_response::{self, Behaviour, ProtocolSupport, cbor::codec::Codec}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | swarm::{self, NetworkBehaviour, SwarmEvent}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Behaviour`, `Event as KadEvent`, `PublishError`, `QueryResult`, `cbor::codec::Codec`, and `self` [INFO] [stdout] --> src/main.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | gossipsub::{self, PublishError}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 12 | identity::Keypair, [INFO] [stdout] 13 | kad::{Behaviour as KadBehaviour, Config as KadConfig, Event as KadEvent, Mode, QueryResult, store::MemoryStore}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 14 | mdns, noise, [INFO] [stdout] 15 | request_response::{self, Behaviour, ProtocolSupport, cbor::codec::Codec}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | swarm::{self, NetworkBehaviour, SwarmEvent}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `task::Poll` [INFO] [stdout] --> src/main.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | use futures::{StreamExt, task::Poll}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `task::Poll` [INFO] [stdout] --> src/main.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | use futures::{StreamExt, task::Poll}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ed25519_dalek::Signature` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use ed25519_dalek::Signature; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ed25519_dalek::Signature` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use ed25519_dalek::Signature; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/main.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | use rand::{Rng, rngs::OsRng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/main.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | use rand::{Rng, rngs::OsRng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DefaultHasher`, `Hash`, `Hasher`, `net::Incoming`, `process::exit`, and `u8::MIN` [INFO] [stdout] --> src/main.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | DefaultHasher, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 28 | Hash, [INFO] [stdout] | ^^^^ [INFO] [stdout] 29 | Hasher [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 30 | }, io::stdout, net::Incoming, num::NonZero, process::exit, time::Duration, u8::MIN}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DefaultHasher`, `Hash`, `Hasher`, `net::Incoming`, `process::exit`, and `u8::MIN` [INFO] [stdout] --> src/main.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | DefaultHasher, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 28 | Hash, [INFO] [stdout] | ^^^^ [INFO] [stdout] 29 | Hasher [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 30 | }, io::stdout, net::Incoming, num::NonZero, process::exit, time::Duration, u8::MIN}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result as SqResult` [INFO] [stdout] --> src/main.rs:37:28 [INFO] [stdout] | [INFO] [stdout] 37 | use rusqlite::{Connection, Result as SqResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result as SqResult` [INFO] [stdout] --> src/main.rs:37:28 [INFO] [stdout] | [INFO] [stdout] 37 | use rusqlite::{Connection, Result as SqResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyEventKind`, `KeyEvent`, and `cursor` [INFO] [stdout] --> src/main.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | use crossterm::{cursor, event::{self, Event, KeyCode, KeyEvent, KeyEventKind}, terminal::{disable_raw_mode, enable_raw_mode}}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyEventKind`, `KeyEvent`, and `cursor` [INFO] [stdout] --> src/main.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | use crossterm::{cursor, event::{self, Event, KeyCode, KeyEvent, KeyEventKind}, terminal::{disable_raw_mode, enable_raw_mode}}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Buffer`, `Cell`, `DefaultTerminal`, `Modifier`, `Rect`, `Text`, and `Widget` [INFO] [stdout] --> src/main.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | DefaultTerminal, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 41 | Frame, Terminal, [INFO] [stdout] 42 | buffer::{Buffer, Cell}, [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] 43 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | text::{Line, Text}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | widgets::{Block, Borders, List, ListDirection, ListItem, ListState, Paragraph, Widget}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 49 | style::{Style, Color, Modifier}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Buffer`, `Cell`, `DefaultTerminal`, `Modifier`, `Rect`, `Text`, and `Widget` [INFO] [stdout] --> src/main.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | DefaultTerminal, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 41 | Frame, Terminal, [INFO] [stdout] 42 | buffer::{Buffer, Cell}, [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] 43 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | text::{Line, Text}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | widgets::{Block, Borders, List, ListDirection, ListItem, ListState, Paragraph, Widget}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 49 | style::{Style, Color, Modifier}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `filledBoard` should have an upper camel case name [INFO] [stdout] --> src/main.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 168 | struct filledBoard { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `FilledBoard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `guessBoard` should have an upper camel case name [INFO] [stdout] --> src/main.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | struct guessBoard { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GuessBoard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `filledBoard` should have an upper camel case name [INFO] [stdout] --> src/main.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 168 | struct filledBoard { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `FilledBoard` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `guessBoard` should have an upper camel case name [INFO] [stdout] --> src/main.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | struct guessBoard { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GuessBoard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:694:37 [INFO] [stdout] | [INFO] [stdout] 694 | ... _ => {}, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/main.rs:694:37 [INFO] [stdout] | [INFO] [stdout] 630 | ... BattlePhase::OpponentBoardReady{is_ready: ready} => { [INFO] [stdout] | ------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 640 | ... BattlePhase::WaitingForBoardAck{ opponent_ready: _ready } => {} [INFO] [stdout] | --------------------------------------------------------- matches some of the same values [INFO] [stdout] 641 | ... BattlePhase::GameOver{ i_won: _won } => { [INFO] [stdout] | ------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 648 | ... BattlePhase::MyTurn | BattlePhase::WaitingForOpponent => { [INFO] [stdout] | ----------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 694 | ... _ => {}, [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:694:37 [INFO] [stdout] | [INFO] [stdout] 694 | ... _ => {}, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/main.rs:694:37 [INFO] [stdout] | [INFO] [stdout] 630 | ... BattlePhase::OpponentBoardReady{is_ready: ready} => { [INFO] [stdout] | ------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 640 | ... BattlePhase::WaitingForBoardAck{ opponent_ready: _ready } => {} [INFO] [stdout] | --------------------------------------------------------- matches some of the same values [INFO] [stdout] 641 | ... BattlePhase::GameOver{ i_won: _won } => { [INFO] [stdout] | ------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 648 | ... BattlePhase::MyTurn | BattlePhase::WaitingForOpponent => { [INFO] [stdout] | ----------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 694 | ... _ => {}, [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `style::Stylize` [INFO] [stdout] --> src/main.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | style::Stylize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncBufReadExt` [INFO] [stdout] --> src/main.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | io::{self, stdin, BufReader, AsyncBufReadExt, AsyncReadExt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `style::Stylize` [INFO] [stdout] --> src/main.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | style::Stylize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/main.rs:2:51 [INFO] [stdout] | [INFO] [stdout] 2 | io::{self, stdin, BufReader, AsyncBufReadExt, AsyncReadExt}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncBufReadExt` [INFO] [stdout] --> src/main.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | io::{self, stdin, BufReader, AsyncBufReadExt, AsyncReadExt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/main.rs:2:51 [INFO] [stdout] | [INFO] [stdout] 2 | io::{self, stdin, BufReader, AsyncBufReadExt, AsyncReadExt}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seq` [INFO] [stdout] --> src/main.rs:1260:45 [INFO] [stdout] | [INFO] [stdout] 1260 | ... seq, [INFO] [stdout] | ^^^ help: try ignoring the field: `seq: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seq` [INFO] [stdout] --> src/main.rs:1260:45 [INFO] [stdout] | [INFO] [stdout] 1260 | ... seq, [INFO] [stdout] | ^^^ help: try ignoring the field: `seq: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/main.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 131 | struct DisplayMessage { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 135 | timestamp: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `guessBoard` is never constructed [INFO] [stdout] --> src/main.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | struct guessBoard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/main.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl guessBoard { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 184 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `opponent_nickname` is never read [INFO] [stdout] --> src/main.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 308 | struct BattleState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 309 | opponent_peer_id: PeerId, [INFO] [stdout] 310 | opponent_nickname: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `WaitingForBoardAck` is never constructed [INFO] [stdout] --> src/main.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 336 | enum BattlePhase { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 337 | WaitingForBoardAck { opponent_ready: bool }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `subscribed_topics` and `self_lookup_done` are never read [INFO] [stdout] --> src/main.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 346 | struct AppState { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 347 | current_topic: String, [INFO] [stdout] 348 | subscribed_topics: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 358 | self_lookup_done: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BattleShip` should have a snake case name [INFO] [stdout] --> src/main.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | pub mod BattleShip { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `battle_ship` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `_BoardReady` should have a snake case name [INFO] [stdout] --> src/main.rs:1045:85 [INFO] [stdout] | [INFO] [stdout] 1045 | ... BattleShip::battleship_request::Msg::BoardReady(_BoardReady) => { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `_board_ready` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shipType` should have a snake case name [INFO] [stdout] --> src/main.rs:1089:57 [INFO] [stdout] | [INFO] [stdout] 1089 | ... let shipType = battle.my_board.board[shot.row as usize][shot.col as usize].clone(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `ship_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:1281:53 [INFO] [stdout] | [INFO] [stdout] 1281 | ... mesg.encode(&mut buf); [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1281 | let _ = mesg.encode(&mut buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/main.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 131 | struct DisplayMessage { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 135 | timestamp: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `guessBoard` is never constructed [INFO] [stdout] --> src/main.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | struct guessBoard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/main.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl guessBoard { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 184 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `opponent_nickname` is never read [INFO] [stdout] --> src/main.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 308 | struct BattleState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 309 | opponent_peer_id: PeerId, [INFO] [stdout] 310 | opponent_nickname: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `WaitingForBoardAck` is never constructed [INFO] [stdout] --> src/main.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 336 | enum BattlePhase { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 337 | WaitingForBoardAck { opponent_ready: bool }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `subscribed_topics` and `self_lookup_done` are never read [INFO] [stdout] --> src/main.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 346 | struct AppState { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 347 | current_topic: String, [INFO] [stdout] 348 | subscribed_topics: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 358 | self_lookup_done: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BattleShip` should have a snake case name [INFO] [stdout] --> src/main.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | pub mod BattleShip { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `battle_ship` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `_BoardReady` should have a snake case name [INFO] [stdout] --> src/main.rs:1045:85 [INFO] [stdout] | [INFO] [stdout] 1045 | ... BattleShip::battleship_request::Msg::BoardReady(_BoardReady) => { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `_board_ready` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `shipType` should have a snake case name [INFO] [stdout] --> src/main.rs:1089:57 [INFO] [stdout] | [INFO] [stdout] 1089 | ... let shipType = battle.my_board.board[shot.row as usize][shot.col as usize].clone(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `ship_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:1281:53 [INFO] [stdout] | [INFO] [stdout] 1281 | ... mesg.encode(&mut buf); [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1281 | let _ = mesg.encode(&mut buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.14s [INFO] running `Command { std: "docker" "inspect" "c9d9a581fe9c04bcbc06cc342e2b71837f61942ca8619afb57dbf6e6ef7a0dca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9d9a581fe9c04bcbc06cc342e2b71837f61942ca8619afb57dbf6e6ef7a0dca", kill_on_drop: false }` [INFO] [stdout] c9d9a581fe9c04bcbc06cc342e2b71837f61942ca8619afb57dbf6e6ef7a0dca