[INFO] cloning repository https://github.com/Jacksonblair/RustNetcodeImplementation
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jacksonblair/RustNetcodeImplementation" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJacksonblair%2FRustNetcodeImplementation", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJacksonblair%2FRustNetcodeImplementation'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f5f2f2be540b6d2a4a7d69e803846f50084eb0d2
[INFO] checking Jacksonblair/RustNetcodeImplementation against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJacksonblair%2FRustNetcodeImplementation" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Jacksonblair/RustNetcodeImplementation
[INFO] finished tweaking git repo https://github.com/Jacksonblair/RustNetcodeImplementation
[INFO] tweaked toml for git repo https://github.com/Jacksonblair/RustNetcodeImplementation written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Jacksonblair/RustNetcodeImplementation on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Jacksonblair/RustNetcodeImplementation 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded vector3d v0.2.1
[INFO] [stderr]   Downloaded unicode-ident v1.0.7
[INFO] [stderr]   Downloaded proc-macro2 v1.0.51
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ed69c20b816a3af45a6f0411a877dffb1264186474a290a63338299fceefefc4
[INFO] running `Command { std: "docker" "start" "-a" "ed69c20b816a3af45a6f0411a877dffb1264186474a290a63338299fceefefc4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed69c20b816a3af45a6f0411a877dffb1264186474a290a63338299fceefefc4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed69c20b816a3af45a6f0411a877dffb1264186474a290a63338299fceefefc4", kill_on_drop: false }`
[INFO] [stdout] ed69c20b816a3af45a6f0411a877dffb1264186474a290a63338299fceefefc4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c7088376baf182388ab9993f146c70771d29b48a5a0afc86188f1c7fadba49e1
[INFO] running `Command { std: "docker" "start" "-a" "c7088376baf182388ab9993f146c70771d29b48a5a0afc86188f1c7fadba49e1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.140
[INFO] [stderr]    Compiling proc-macro2 v1.0.51
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]    Compiling unicode-ident v1.0.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]    Compiling serde_derive v1.0.152
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking vector3d v0.2.1
[INFO] [stderr]     Checking bitpacker v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `packet_buffer::PacketBuffer`, `packet_info::PacketInfo`, and `write_packet`
[INFO] [stdout]   --> src/examples/packet_fragmentation_and_reassembly.rs:23:62
[INFO] [stdout]    |
[INFO] [stdout] 23 |             fragment_packet::FragmentPacket, object::Packet, packet_buffer::PacketBuffer,
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |             packet_data::PacketData, packet_factory::PacketFactory, packet_info::PacketInfo,
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |             write_packet,
[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: `Buffer`, `MAX_PACKET_SIZE`, `ProtocolError`, `helpers::get_error_string`, `packet_info::PacketInfo`, `read_packet`, and `self`
[INFO] [stdout]   --> src/examples/reading_and_writing_packets.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         constants::{Buffer, ProtocolError, MAX_PACKET_SIZE},
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |         helpers::get_error_string,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |         packets::{
[INFO] [stdout] 34 |             self,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |             packet_info::PacketInfo,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |             read_packet,
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::constants::Buffer`
[INFO] [stdout]  --> src/protocol/bitpacker/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::constants::Buffer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bit_reader::BitReader` and `bit_writer::BitWriter`
[INFO] [stdout]  --> src/protocol/bitpacker/mod.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::protocol::bitpacker::{bit_reader::BitReader, bit_writer::BitWriter};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_TYPES` should have an upper camel case name
[INFO] [stdout]   --> src/protocol/constants.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     NUM_TYPES = 4,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `NumTypes`
[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: value assigned to `bytes_processed` is never read
[INFO] [stdout]   --> src/examples/packet_fragmentation_and_reassembly.rs:67:40
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut bytes_processed: u32 = 0;
[INFO] [stdout]    |                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fragment_data`
[INFO] [stdout]   --> src/protocol/packets/packet_buffer.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         fragment_data: &mut Buffer,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fragment_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_TYPES` should have an upper camel case name
[INFO] [stdout]   --> src/protocol/constants.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     NUM_TYPES = 4,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `NumTypes`
[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: unused variable: `stream`
[INFO] [stdout]   --> src/protocol/serialization.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn serialize_object(stream: &mut dyn Stream, object: &mut dyn Object) -> bool {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]   --> src/protocol/serialization.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn serialize_object(stream: &mut dyn Stream, object: &mut dyn Object) -> bool {
[INFO] [stdout]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_ITERATIONS` is never used
[INFO] [stdout]   --> src/examples/packet_fragmentation_and_reassembly.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const NUM_ITERATIONS: u32 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_packet_into_fragments` is never used
[INFO] [stdout]   --> src/examples/packet_fragmentation_and_reassembly.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn split_packet_into_fragments(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TestPacketTypes` is never used
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:133:6
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum TestPacketTypes {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_TEST_PACKET_A_ITEMS` is never used
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:141:7
[INFO] [stdout]     |
[INFO] [stdout] 141 | const MAX_TEST_PACKET_A_ITEMS: usize = 4096 * 4;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestPacketA` is never constructed
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct TestPacketA {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `serialize` are never used
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl TestPacketA {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 154 |     fn new() -> TestPacketA {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn serialize(&mut self, stream: &mut dyn Stream) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestPacketFactory` is never constructed
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | struct TestPacketFactory {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl TestPacketFactory {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 181 |     pub fn new() -> TestPacketFactory {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestPacketHeader` is never constructed
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 200 | struct TestPacketHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `serialize` is never used
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl TestPacketHeader {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 205 |     fn serialize(&mut self, stream: &mut dyn Stream) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_ITERATIONS` is never used
[INFO] [stdout]   --> src/examples/reading_and_writing_packets.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const NUM_ITERATIONS: u32 = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NumTypes` is never constructed
[INFO] [stdout]   --> src/examples/reading_and_writing_packets.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | enum TestPacketTypes {
[INFO] [stdout]    |      --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 61 |     NumTypes = 2,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/examples/reading_and_writing_packets.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl TestPacketA {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 72 |     fn new() -> TestPacketA {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/examples/reading_and_writing_packets.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl TestPacketB {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 102 |     fn new() -> TestPacketB {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestPacketFactory` is never constructed
[INFO] [stdout]    --> src/examples/reading_and_writing_packets.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | struct TestPacketFactory {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fragment_data` is never read
[INFO] [stdout]   --> src/protocol/packets/packet_buffer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct PacketBufferEntry<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fragment_data: &'a mut Vec<u8>, // pointer to data for fragment n
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `advance` is never used
[INFO] [stdout]    --> src/protocol/packets/packet_buffer.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl PacketBuffer<'_> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn advance(&mut self) {}
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestData` is never constructed
[INFO] [stdout]    --> src/protocol/serialization.rs:446:12
[INFO] [stdout]     |
[INFO] [stdout] 446 |     struct TestData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestObject` is never constructed
[INFO] [stdout]    --> src/protocol/serialization.rs:492:12
[INFO] [stdout]     |
[INFO] [stdout] 492 |     struct TestObject {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init`, and `serialize` are never used
[INFO] [stdout]    --> src/protocol/serialization.rs:497:16
[INFO] [stdout]     |
[INFO] [stdout] 496 |     impl TestObject {
[INFO] [stdout]     |     --------------- associated items in this implementation
[INFO] [stdout] 497 |         pub fn new() -> TestObject {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |         pub fn init(&mut self) {
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |         pub fn serialize<T: Stream>(&mut self, stream: &mut T) -> bool {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/bitpacker/bit_reader.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(buffer: &mut Buffer, bytes: usize) -> BitReader {
[INFO] [stdout]    |                        ^^^^^^^^^^^                   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(buffer: &mut Buffer, bytes: usize) -> BitReader<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/bitpacker/bit_writer.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> BitWriter {
[INFO] [stdout]    |                        ^^^^^^^^^^^                         ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> BitWriter<'_> {
[INFO] [stdout]    |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this creates a dangling pointer because temporary `[u8; 4]` is dropped at end of statement
[INFO] [stdout]   --> src/protocol/bitpacker/bit_writer.rs:88:63
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 let src = (self.scratch as u32).to_le_bytes().as_ptr();
[INFO] [stdout]    |                           ----------------------------------- ^^^^^^ pointer created here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this `[u8; 4]` is dropped at end of statement
[INFO] [stdout]    |
[INFO] [stdout]    = help: bind the `[u8; 4]` to a variable such that it outlives the pointer returned by `as_ptr`
[INFO] [stdout]    = note: a dangling pointer is safe, but dereferencing one is undefined behavior
[INFO] [stdout]    = note: returning a pointer to a local variable will always result in a dangling pointer
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout]    = note: `#[warn(dangling_pointers_from_temporaries)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this creates a dangling pointer because temporary `[u8; 4]` is dropped at end of statement
[INFO] [stdout]   --> src/protocol/packets/mod.rs:94:48
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let src_ptr = crc_32.to_le_bytes().as_ptr();
[INFO] [stdout]    |                           -------------------- ^^^^^^ pointer created here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this `[u8; 4]` is dropped at end of statement
[INFO] [stdout]    |
[INFO] [stdout]    = help: bind the `[u8; 4]` to a variable such that it outlives the pointer returned by `as_ptr`
[INFO] [stdout]    = note: a dangling pointer is safe, but dereferencing one is undefined behavior
[INFO] [stdout]    = note: returning a pointer to a local variable will always result in a dangling pointer
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/packets/packet_info.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(packet_factory: &dyn PacketFactory) -> PacketInfo {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(packet_factory: &dyn PacketFactory) -> PacketInfo<'_> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/streams/read_stream.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> ReadStream {
[INFO] [stdout]    |                        ^^^^^^^^^^^                         ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> ReadStream<'_> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/streams/write_stream.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> WriteStream {
[INFO] [stdout]    |                        ^^^^^^^^^^^                         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> WriteStream<'_> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/examples/reading_and_writing_packets.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |       return;
[INFO] [stdout]     |       ------ any code following this expression is unreachable
[INFO] [stdout] 207 |
[INFO] [stdout] 208 | /     let packet_factory: TestPacketFactory = TestPacketFactory {
[INFO] [stdout] 209 | |         num_allocated_packets: 0,
[INFO] [stdout] 210 | |         num_packet_types: TestPacketTypes::NumTypes as u32,
[INFO] [stdout] 211 | |     };
[INFO] [stdout]     | |______^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bytes_processed` is never read
[INFO] [stdout]   --> src/examples/packet_fragmentation_and_reassembly.rs:67:40
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut bytes_processed: u32 = 0;
[INFO] [stdout]    |                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `error` is assigned to, but never used
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut error: bool = false;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_error` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `error` is never read
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |             error = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fragment_data`
[INFO] [stdout]   --> src/protocol/packets/packet_buffer.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         fragment_data: &mut Buffer,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fragment_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/protocol/serialization.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn serialize_object(stream: &mut dyn Stream, object: &mut dyn Object) -> bool {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]   --> src/protocol/serialization.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn serialize_object(stream: &mut dyn Stream, object: &mut dyn Object) -> bool {
[INFO] [stdout]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FRAGMENT` is never constructed
[INFO] [stdout]    --> src/examples/packet_fragmentation_and_reassembly.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum TestPacketTypes {
[INFO] [stdout]     |      --------------- variant in this enum
[INFO] [stdout] 134 |     FRAGMENT = 0,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fragment_data` is never read
[INFO] [stdout]   --> src/protocol/packets/packet_buffer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct PacketBufferEntry<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fragment_data: &'a mut Vec<u8>, // pointer to data for fragment n
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `advance` is never used
[INFO] [stdout]    --> src/protocol/packets/packet_buffer.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl PacketBuffer<'_> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn advance(&mut self) {}
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/bitpacker/bit_reader.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(buffer: &mut Buffer, bytes: usize) -> BitReader {
[INFO] [stdout]    |                        ^^^^^^^^^^^                   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(buffer: &mut Buffer, bytes: usize) -> BitReader<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/bitpacker/bit_writer.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> BitWriter {
[INFO] [stdout]    |                        ^^^^^^^^^^^                         ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> BitWriter<'_> {
[INFO] [stdout]    |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this creates a dangling pointer because temporary `[u8; 4]` is dropped at end of statement
[INFO] [stdout]   --> src/protocol/bitpacker/bit_writer.rs:88:63
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 let src = (self.scratch as u32).to_le_bytes().as_ptr();
[INFO] [stdout]    |                           ----------------------------------- ^^^^^^ pointer created here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this `[u8; 4]` is dropped at end of statement
[INFO] [stdout]    |
[INFO] [stdout]    = help: bind the `[u8; 4]` to a variable such that it outlives the pointer returned by `as_ptr`
[INFO] [stdout]    = note: a dangling pointer is safe, but dereferencing one is undefined behavior
[INFO] [stdout]    = note: returning a pointer to a local variable will always result in a dangling pointer
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout]    = note: `#[warn(dangling_pointers_from_temporaries)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this creates a dangling pointer because temporary `[u8; 4]` is dropped at end of statement
[INFO] [stdout]   --> src/protocol/packets/mod.rs:94:48
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let src_ptr = crc_32.to_le_bytes().as_ptr();
[INFO] [stdout]    |                           -------------------- ^^^^^^ pointer created here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this `[u8; 4]` is dropped at end of statement
[INFO] [stdout]    |
[INFO] [stdout]    = help: bind the `[u8; 4]` to a variable such that it outlives the pointer returned by `as_ptr`
[INFO] [stdout]    = note: a dangling pointer is safe, but dereferencing one is undefined behavior
[INFO] [stdout]    = note: returning a pointer to a local variable will always result in a dangling pointer
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/packets/packet_info.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(packet_factory: &dyn PacketFactory) -> PacketInfo {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(packet_factory: &dyn PacketFactory) -> PacketInfo<'_> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/streams/read_stream.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> ReadStream {
[INFO] [stdout]    |                        ^^^^^^^^^^^                         ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> ReadStream<'_> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/protocol/streams/write_stream.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> WriteStream {
[INFO] [stdout]    |                        ^^^^^^^^^^^                         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(buffer: &mut Buffer, buffer_size: usize) -> WriteStream<'_> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.89s
[INFO] running `Command { std: "docker" "inspect" "c7088376baf182388ab9993f146c70771d29b48a5a0afc86188f1c7fadba49e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7088376baf182388ab9993f146c70771d29b48a5a0afc86188f1c7fadba49e1", kill_on_drop: false }`
[INFO] [stdout] c7088376baf182388ab9993f146c70771d29b48a5a0afc86188f1c7fadba49e1
