[INFO] cloning repository https://github.com/logannc/valence
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/logannc/valence" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flogannc%2Fvalence", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flogannc%2Fvalence'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 25508413302813b1624d80dff886ce3c0b257ab5
[INFO] checking logannc/valence against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flogannc%2Fvalence" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/logannc/valence on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/logannc/valence
[INFO] finished tweaking git repo https://github.com/logannc/valence
[INFO] tweaked toml for git repo https://github.com/logannc/valence written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/logannc/valence 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand_core v0.2.2
[INFO] [stderr]   Downloaded byteorder v1.2.7
[INFO] [stderr]   Downloaded tokio-udp v0.1.2
[INFO] [stderr]   Downloaded tokio-reactor v0.1.6
[INFO] [stderr]   Downloaded nodrop v0.1.12
[INFO] [stderr]   Downloaded num_cpus v1.8.0
[INFO] [stderr]   Downloaded lock_api v0.1.4
[INFO] [stderr]   Downloaded arrayvec v0.4.7
[INFO] [stderr]   Downloaded lazycell v1.2.0
[INFO] [stderr]   Downloaded tokio v0.1.11
[INFO] [stderr]   Downloaded futures v0.1.25
[INFO] [stderr]   Downloaded mio v0.6.16
[INFO] [stderr]   Downloaded syn v0.15.18
[INFO] [stderr]   Downloaded bytes v0.4.10
[INFO] [stderr]   Downloaded serde_derive v1.0.80
[INFO] [stderr]   Downloaded tokio-timer v0.2.7
[INFO] [stderr]   Downloaded crossbeam-epoch v0.5.2
[INFO] [stderr]   Downloaded proc-macro2 v0.4.21
[INFO] [stderr]   Downloaded tokio-uds v0.2.3
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.8
[INFO] [stderr]   Downloaded parking_lot v0.6.4
[INFO] [stderr]   Downloaded tokio-current-thread v0.1.3
[INFO] [stderr]   Downloaded smallvec v0.6.5
[INFO] [stderr]   Downloaded rand_core v0.3.0
[INFO] [stderr]   Downloaded parking_lot_core v0.3.1
[INFO] [stderr]   Downloaded tokio-io v0.1.10
[INFO] [stderr]   Downloaded crossbeam-utils v0.5.0
[INFO] [stderr]   Downloaded tokio-fs v0.1.4
[INFO] [stderr]   Downloaded crossbeam-deque v0.6.1
[INFO] [stderr]   Downloaded bincode v1.0.1
[INFO] [stderr]   Downloaded tokio-executor v0.1.5
[INFO] [stderr]   Downloaded tokio-tcp v0.1.2
[INFO] [stderr]   Downloaded uuid v0.7.1
[INFO] [stderr]   Downloaded slab v0.4.1
[INFO] [stderr]   Downloaded rand v0.5.5
[INFO] [stderr]   Downloaded serde v1.0.80
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9fb52b6c7e901fd3c02df1edb603eb2646895a5682d4eacd38adc68519e13103
[INFO] running `Command { std: "docker" "start" "-a" "9fb52b6c7e901fd3c02df1edb603eb2646895a5682d4eacd38adc68519e13103", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9fb52b6c7e901fd3c02df1edb603eb2646895a5682d4eacd38adc68519e13103", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fb52b6c7e901fd3c02df1edb603eb2646895a5682d4eacd38adc68519e13103", kill_on_drop: false }`
[INFO] [stdout] 9fb52b6c7e901fd3c02df1edb603eb2646895a5682d4eacd38adc68519e13103
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d0f8cb3127d1c4892333afcc8c201003d969cbb4329256e0f422560aac43a19c
[INFO] running `Command { std: "docker" "start" "-a" "d0f8cb3127d1c4892333afcc8c201003d969cbb4329256e0f422560aac43a19c", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]     Checking futures v0.1.25
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking crossbeam-utils v0.5.0
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking lazy_static v1.2.0
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking slab v0.4.1
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking smallvec v0.6.5
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking lazycell v1.2.0
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.21
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking lock_api v0.1.4
[INFO] [stderr]    Compiling serde v1.0.80
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking bytes v0.4.10
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]     Checking crossbeam-epoch v0.5.2
[INFO] [stderr]     Checking mio v0.6.16
[INFO] [stderr]     Checking crossbeam-deque v0.6.1
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking tokio-executor v0.1.5
[INFO] [stderr]     Checking tokio-io v0.1.10
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking clap v2.32.0
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]     Checking tokio-current-thread v0.1.3
[INFO] [stderr]     Checking tokio-timer v0.2.7
[INFO] [stderr]     Checking tokio-codec v0.1.1
[INFO] [stderr]    Compiling syn v0.15.18
[INFO] [stderr]     Checking tokio-threadpool v0.1.8
[INFO] [stderr]     Checking uuid v0.7.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking tokio-fs v0.1.4
[INFO] [stderr]     Checking tokio-reactor v0.1.6
[INFO] [stderr]     Checking tokio-udp v0.1.2
[INFO] [stderr]     Checking tokio-uds v0.2.3
[INFO] [stderr]     Checking tokio-tcp v0.1.2
[INFO] [stderr]     Checking tokio v0.1.11
[INFO] [stderr]     Checking bincode v1.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.80
[INFO] [stderr]     Checking valence v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/client.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 40 | /             loop {
[INFO] [stdout] 41 | |                 let mut buf = String::new();
[INFO] [stdout] 42 | |                 std::io::stdin().read_line(&mut buf);
[INFO] [stdout] 43 | |                 let msg = serialize(&ClientMessage::Message(buf)).unwrap().into();
[INFO] [stdout] 44 | |                 writer = writer.send(msg).wait().unwrap();
[INFO] [stdout] 45 | |             }
[INFO] [stdout]    | |_____________- any code following this expression is unreachable
[INFO] [stdout] 46 |               Ok(())
[INFO] [stdout]    |               ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/client.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 40 | /             loop {
[INFO] [stdout] 41 | |                 let mut buf = String::new();
[INFO] [stdout] 42 | |                 std::io::stdin().read_line(&mut buf);
[INFO] [stdout] 43 | |                 let msg = serialize(&ClientMessage::Message(buf)).unwrap().into();
[INFO] [stdout] 44 | |                 writer = writer.send(msg).wait().unwrap();
[INFO] [stdout] 45 | |             }
[INFO] [stdout]    | |_____________- any code following this expression is unreachable
[INFO] [stdout] 46 |               Ok(())
[INFO] [stdout]    |               ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/network.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             panic!("error: {}", err);
[INFO] [stdout]     |             ------------------------ any code following this expression is unreachable
[INFO] [stdout] 144 |             Ok(())
[INFO] [stdout]     |             ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/network.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             panic!("error: {}", err);
[INFO] [stdout]     |             ------------------------ any code following this expression is unreachable
[INFO] [stdout] 144 |             Ok(())
[INFO] [stdout]     |             ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/network.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |         ClientMessage::Join(name) => Ok(()), // Ignore this misbehaving message.
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/network.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     .filter(|(&k, v)| k != ID)
[INFO] [stdout]    |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/network.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         Err(err) => Err(Error::from(ErrorKind::InvalidData)),
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/network.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |         ClientMessage::Join(name) => Ok(()), // Ignore this misbehaving message.
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/network.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     .filter(|(&k, v)| k != ID)
[INFO] [stdout]    |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/network.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         Err(err) => Err(Error::from(ErrorKind::InvalidData)),
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 std::io::stdin().read_line(&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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = std::io::stdin().read_line(&mut buf);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         peer.writer.start_send(serialized_msg.clone());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = peer.writer.start_send(serialized_msg.clone());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         peer.writer.poll_complete();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/network.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 let ID = Uuid::new_v4();
[INFO] [stdout]    |                     ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/network.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn handle_client_message(msg: ClientMessage, ID: Uuid, peers: &mut Peers) -> Result<(), Error> {
[INFO] [stdout]    |                                              ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn handle_frame(frame: BytesMut, ID: Uuid, mut peers: Peers) -> Result<(), Error> {
[INFO] [stdout]     |                                  ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/network.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         peer.writer.poll_complete();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn handle_disconnect(ID: Uuid, mut peers: Peers) -> Result<(), Error> {
[INFO] [stdout]     |                      ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/network.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         peer.writer.poll_complete();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let (ID, framed_reader) = input;
[INFO] [stdout]     |          ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 std::io::stdin().read_line(&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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = std::io::stdin().read_line(&mut buf);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         peer.writer.start_send(serialized_msg.clone());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = peer.writer.start_send(serialized_msg.clone());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         peer.writer.poll_complete();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/network.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 let ID = Uuid::new_v4();
[INFO] [stdout]    |                     ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/network.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn handle_client_message(msg: ClientMessage, ID: Uuid, peers: &mut Peers) -> Result<(), Error> {
[INFO] [stdout]    |                                              ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn handle_frame(frame: BytesMut, ID: Uuid, mut peers: Peers) -> Result<(), Error> {
[INFO] [stdout]     |                                  ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/network.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         peer.writer.poll_complete();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn handle_disconnect(ID: Uuid, mut peers: Peers) -> Result<(), Error> {
[INFO] [stdout]     |                      ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/network.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         peer.writer.poll_complete();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let (ID, framed_reader) = input;
[INFO] [stdout]     |          ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 18.63s
[INFO] running `Command { std: "docker" "inspect" "d0f8cb3127d1c4892333afcc8c201003d969cbb4329256e0f422560aac43a19c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0f8cb3127d1c4892333afcc8c201003d969cbb4329256e0f422560aac43a19c", kill_on_drop: false }`
[INFO] [stdout] d0f8cb3127d1c4892333afcc8c201003d969cbb4329256e0f422560aac43a19c
[INFO] checking logannc/valence against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flogannc%2Fvalence" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/logannc/valence on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/logannc/valence
[INFO] finished tweaking git repo https://github.com/logannc/valence
[INFO] tweaked toml for git repo https://github.com/logannc/valence written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/logannc/valence 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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e13c6d80dda157e169ac2da6dc495bb2ae037fccb5e06ba552eeece23247c9bc
[INFO] running `Command { std: "docker" "start" "-a" "e13c6d80dda157e169ac2da6dc495bb2ae037fccb5e06ba552eeece23247c9bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e13c6d80dda157e169ac2da6dc495bb2ae037fccb5e06ba552eeece23247c9bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e13c6d80dda157e169ac2da6dc495bb2ae037fccb5e06ba552eeece23247c9bc", kill_on_drop: false }`
[INFO] [stdout] e13c6d80dda157e169ac2da6dc495bb2ae037fccb5e06ba552eeece23247c9bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ea65d08e0fa65c22232a985d38c2e9d9fa7606d9b189b67bc6ae4113e0231443
[INFO] running `Command { std: "docker" "start" "-a" "ea65d08e0fa65c22232a985d38c2e9d9fa7606d9b189b67bc6ae4113e0231443", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]     Checking futures v0.1.25
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking crossbeam-utils v0.5.0
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking lazy_static v1.2.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]     Checking slab v0.4.1
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking lazycell v1.2.0
[INFO] [stderr]     Checking smallvec v0.6.5
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking lock_api v0.1.4
[INFO] [stderr]    Compiling proc-macro2 v0.4.21
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking bytes v0.4.10
[INFO] [stderr]    Compiling serde v1.0.80
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking mio v0.6.16
[INFO] [stderr]     Checking crossbeam-epoch v0.5.2
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]     Checking crossbeam-deque v0.6.1
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]     Checking tokio-executor v0.1.5
[INFO] [stderr]     Checking tokio-io v0.1.10
[INFO] [stderr]     Checking clap v2.32.0
[INFO] [stderr]     Checking tokio-timer v0.2.7
[INFO] [stderr]    Compiling syn v0.15.18
[INFO] [stderr]     Checking tokio-threadpool v0.1.8
[INFO] [stderr]     Checking tokio-current-thread v0.1.3
[INFO] [stderr]     Checking tokio-codec v0.1.1
[INFO] [stderr]     Checking uuid v0.7.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking tokio-reactor v0.1.6
[INFO] [stderr]     Checking tokio-uds v0.2.3
[INFO] [stderr]     Checking tokio-fs v0.1.4
[INFO] [stderr]     Checking tokio-udp v0.1.2
[INFO] [stderr]     Checking tokio-tcp v0.1.2
[INFO] [stderr]     Checking tokio v0.1.11
[INFO] [stderr]    Compiling serde_derive v1.0.80
[INFO] [stderr]     Checking bincode v1.0.1
[INFO] [stderr]     Checking valence v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/client.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 40 | /             loop {
[INFO] [stdout] 41 | |                 let mut buf = String::new();
[INFO] [stdout] 42 | |                 std::io::stdin().read_line(&mut buf);
[INFO] [stdout] 43 | |                 let msg = serialize(&ClientMessage::Message(buf)).unwrap().into();
[INFO] [stdout] 44 | |                 writer = writer.send(msg).wait().unwrap();
[INFO] [stdout] 45 | |             }
[INFO] [stdout]    | |_____________- any code following this expression is unreachable
[INFO] [stdout] 46 |               Ok(())
[INFO] [stdout]    |               ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/network.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             panic!("error: {}", err);
[INFO] [stdout]     |             ------------------------ any code following this expression is unreachable
[INFO] [stdout] 144 |             Ok(())
[INFO] [stdout]     |             ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/network.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |         ClientMessage::Join(name) => Ok(()), // Ignore this misbehaving message.
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/network.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     .filter(|(&k, v)| k != ID)
[INFO] [stdout]    |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/network.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         Err(err) => Err(Error::from(ErrorKind::InvalidData)),
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/client.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 40 | /             loop {
[INFO] [stdout] 41 | |                 let mut buf = String::new();
[INFO] [stdout] 42 | |                 std::io::stdin().read_line(&mut buf);
[INFO] [stdout] 43 | |                 let msg = serialize(&ClientMessage::Message(buf)).unwrap().into();
[INFO] [stdout] 44 | |                 writer = writer.send(msg).wait().unwrap();
[INFO] [stdout] 45 | |             }
[INFO] [stdout]    | |_____________- any code following this expression is unreachable
[INFO] [stdout] 46 |               Ok(())
[INFO] [stdout]    |               ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 std::io::stdin().read_line(&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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = std::io::stdin().read_line(&mut buf);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         peer.writer.start_send(serialized_msg.clone());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = peer.writer.start_send(serialized_msg.clone());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         peer.writer.poll_complete();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/network.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 let ID = Uuid::new_v4();
[INFO] [stdout]    |                     ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/network.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn handle_client_message(msg: ClientMessage, ID: Uuid, peers: &mut Peers) -> Result<(), Error> {
[INFO] [stdout]    |                                              ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn handle_frame(frame: BytesMut, ID: Uuid, mut peers: Peers) -> Result<(), Error> {
[INFO] [stdout]     |                                  ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/network.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         peer.writer.poll_complete();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn handle_disconnect(ID: Uuid, mut peers: Peers) -> Result<(), Error> {
[INFO] [stdout]     |                      ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/network.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         peer.writer.poll_complete();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let (ID, framed_reader) = input;
[INFO] [stdout]     |          ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/types.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ClientMessage`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/network.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             panic!("error: {}", err);
[INFO] [stdout]     |             ------------------------ any code following this expression is unreachable
[INFO] [stdout] 144 |             Ok(())
[INFO] [stdout]     |             ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/types.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ClientMessage`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/types.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ServerMessage`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/types.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ServerMessage`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `valence` (bin "valence") due to 5 previous errors; 15 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/network.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |         ClientMessage::Join(name) => Ok(()), // Ignore this misbehaving message.
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/network.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     .filter(|(&k, v)| k != ID)
[INFO] [stdout]    |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/network.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         Err(err) => Err(Error::from(ErrorKind::InvalidData)),
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 std::io::stdin().read_line(&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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = std::io::stdin().read_line(&mut buf);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         peer.writer.start_send(serialized_msg.clone());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = peer.writer.start_send(serialized_msg.clone());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         peer.writer.poll_complete();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/network.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 let ID = Uuid::new_v4();
[INFO] [stdout]    |                     ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/network.rs:77:46
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn handle_client_message(msg: ClientMessage, ID: Uuid, peers: &mut Peers) -> Result<(), Error> {
[INFO] [stdout]    |                                              ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn handle_frame(frame: BytesMut, ID: Uuid, mut peers: Peers) -> Result<(), Error> {
[INFO] [stdout]     |                                  ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/network.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         peer.writer.poll_complete();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn handle_disconnect(ID: Uuid, mut peers: Peers) -> Result<(), Error> {
[INFO] [stdout]     |                      ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/network.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         peer.writer.poll_complete();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let _ = peer.writer.poll_complete();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]    --> src/network.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let (ID, framed_reader) = input;
[INFO] [stdout]     |          ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/types.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ClientMessage`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/types.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ClientMessage`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/types.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ServerMessage`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/types.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ServerMessage`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `valence` (bin "valence" test) due to 5 previous errors; 15 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ea65d08e0fa65c22232a985d38c2e9d9fa7606d9b189b67bc6ae4113e0231443", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea65d08e0fa65c22232a985d38c2e9d9fa7606d9b189b67bc6ae4113e0231443", kill_on_drop: false }`
[INFO] [stdout] ea65d08e0fa65c22232a985d38c2e9d9fa7606d9b189b67bc6ae4113e0231443
