[INFO] cloning repository https://github.com/auriku/rtmp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/auriku/rtmp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fauriku%2Frtmp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fauriku%2Frtmp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3655b41ed35c41ff8813d3fbd6a584b73bb4e513
[INFO] checking auriku/rtmp against master#32cd9114712a24010b0583624dc52ac302194128 for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fauriku%2Frtmp" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/auriku/rtmp
[INFO] finished tweaking git repo https://github.com/auriku/rtmp
[INFO] tweaked toml for git repo https://github.com/auriku/rtmp written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/auriku/rtmp on toolchain 32cd9114712a24010b0583624dc52ac302194128
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/auriku/rtmp 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" "+32cd9114712a24010b0583624dc52ac302194128" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded amf v1.0.0
[INFO] [stderr]   Downloaded bytesio v0.3.4
[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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b9256ac62cb8d4ff268623260a1904a2a99664e47394fd27ee6ea1bf25fcf469
[INFO] running `Command { std: "docker" "start" "-a" "b9256ac62cb8d4ff268623260a1904a2a99664e47394fd27ee6ea1bf25fcf469", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9256ac62cb8d4ff268623260a1904a2a99664e47394fd27ee6ea1bf25fcf469", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9256ac62cb8d4ff268623260a1904a2a99664e47394fd27ee6ea1bf25fcf469", kill_on_drop: false }`
[INFO] [stdout] b9256ac62cb8d4ff268623260a1904a2a99664e47394fd27ee6ea1bf25fcf469
[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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 354ba00c923541944372a94753dc57bf1a90c0e892271dd764504fee76d6d3dc
[INFO] running `Command { std: "docker" "start" "-a" "354ba00c923541944372a94753dc57bf1a90c0e892271dd764504fee76d6d3dc", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking miniz_oxide v0.8.7
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking amf v1.0.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking backtrace v0.3.74
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tokio-util v0.6.10
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking bytesio v0.3.4
[INFO] [stderr]     Checking rtmp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]  --> src/session.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::fmt;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `time::Duration`
[INFO] [stdout]  --> src/message.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 |     io::{Cursor, Read, Write},
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 4 |     net::TcpStream,
[INFO] [stdout] 5 |     time::Duration,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `Version`
[INFO] [stdout]  --> src/message.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use amf::{Amf0Value, Value, Version};
[INFO] [stdout]   |                      ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MessageHeaderType1`
[INFO] [stdout]   --> src/message.rs:12:42
[INFO] [stdout]    |
[INFO] [stdout] 12 |     message_header::{MessageHeaderType0, MessageHeaderType1},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]  --> src/session.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::fmt;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `time::Duration`
[INFO] [stdout]  --> src/message.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 |     io::{Cursor, Read, Write},
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 4 |     net::TcpStream,
[INFO] [stdout] 5 |     time::Duration,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `Version`
[INFO] [stdout]  --> src/message.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use amf::{Amf0Value, Value, Version};
[INFO] [stdout]   |                      ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MessageHeaderType1`
[INFO] [stdout]   --> src/message.rs:12:42
[INFO] [stdout]    |
[INFO] [stdout] 12 |     message_header::{MessageHeaderType0, MessageHeaderType1},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/session.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 32  | /         loop {
[INFO] [stdout] 33  | |             let chunk = Chunk::read_from_stream(self.stream)?;
[INFO] [stdout] 34  | |             let fmt = chunk.basic_header.get_fmt();
[INFO] [stdout] 35  | |             let cs_id = chunk.basic_header.get_cs_id();
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |                 .or_insert(PrecedingChunkAttributes { message_type_id: message_type_id });
[INFO] [stdout] 121 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 122 |           Ok(())
[INFO] [stdout]     |           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `basic_header::BasicHeader`
[INFO] [stdout]  --> src/session.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     basic_header::BasicHeader,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/message.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn handle(&self, stream: &mut TcpStream) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/message.rs:44:22
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn handle(&self, stream: &mut TcpStream) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BasicHeaderClone` is more private than the item `BasicHeader`
[INFO] [stdout]  --> src/basic_header.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub(crate) trait BasicHeader: BasicHeaderClone {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `BasicHeader` is reachable at visibility `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout] note: but trait `BasicHeaderClone` is only usable at visibility `pub(self)`
[INFO] [stdout]  --> src/basic_header.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait BasicHeaderClone {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MessageHeaderClone` is more private than the item `MessageHeader`
[INFO] [stdout]   --> src/message_header.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub trait MessageHeader: MessageHeaderClone {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `MessageHeader` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `MessageHeaderClone` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/message_header.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | trait MessageHeaderClone {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/chunk.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Chunk {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_print_bytes` is never used
[INFO] [stdout]  --> src/handshake.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn debug_print_bytes(label: &str, bytes: &[u8]) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/message_header.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct MessageHeaderType3 {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 142 |     pub data: [u8; 0],
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MessageHeaderType3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CursorExt` is never used
[INFO] [stdout]   --> src/utils.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait CursorExt {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/message.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl SetPeerBandwidth {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 53 |     pub fn new(payload: [u8; 5]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserControlMessage` is never constructed
[INFO] [stdout]   --> src/message.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct UserControlMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/message.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl UserControlMessage {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 68 |     pub fn new(payload: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/session.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 32  | /         loop {
[INFO] [stdout] 33  | |             let chunk = Chunk::read_from_stream(self.stream)?;
[INFO] [stdout] 34  | |             let fmt = chunk.basic_header.get_fmt();
[INFO] [stdout] 35  | |             let cs_id = chunk.basic_header.get_cs_id();
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |                 .or_insert(PrecedingChunkAttributes { message_type_id: message_type_id });
[INFO] [stdout] 121 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 122 |           Ok(())
[INFO] [stdout]     |           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `basic_header::BasicHeader`
[INFO] [stdout]  --> src/session.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     basic_header::BasicHeader,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/message.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn handle(&self, stream: &mut TcpStream) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/message.rs:44:22
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn handle(&self, stream: &mut TcpStream) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BasicHeaderClone` is more private than the item `BasicHeader`
[INFO] [stdout]  --> src/basic_header.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub(crate) trait BasicHeader: BasicHeaderClone {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `BasicHeader` is reachable at visibility `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout] note: but trait `BasicHeaderClone` is only usable at visibility `pub(self)`
[INFO] [stdout]  --> src/basic_header.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait BasicHeaderClone {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MessageHeaderClone` is more private than the item `MessageHeader`
[INFO] [stdout]   --> src/message_header.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub trait MessageHeader: MessageHeaderClone {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `MessageHeader` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `MessageHeaderClone` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/message_header.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | trait MessageHeaderClone {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/chunk.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Chunk {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_print_bytes` is never used
[INFO] [stdout]  --> src/handshake.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn debug_print_bytes(label: &str, bytes: &[u8]) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/message_header.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct MessageHeaderType3 {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 142 |     pub data: [u8; 0],
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MessageHeaderType3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CursorExt` is never used
[INFO] [stdout]   --> src/utils.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait CursorExt {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/message.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl SetPeerBandwidth {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 53 |     pub fn new(payload: [u8; 5]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserControlMessage` is never constructed
[INFO] [stdout]   --> src/message.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct UserControlMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/message.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl UserControlMessage {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 68 |     pub fn new(payload: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.10s
[INFO] running `Command { std: "docker" "inspect" "354ba00c923541944372a94753dc57bf1a90c0e892271dd764504fee76d6d3dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "354ba00c923541944372a94753dc57bf1a90c0e892271dd764504fee76d6d3dc", kill_on_drop: false }`
[INFO] [stdout] 354ba00c923541944372a94753dc57bf1a90c0e892271dd764504fee76d6d3dc
