[INFO] cloning repository https://github.com/tengrommel/rtmp [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tengrommel/rtmp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftengrommel%2Frtmp"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftengrommel%2Frtmp'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 41b123549eae3ca558f1a651b1868edd00c7e0c6 [INFO] checking tengrommel/rtmp against master#6250d56355d72264ece721e8d0dc95b16a6824b1 for pr-68350 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftengrommel%2Frtmp" "/workspace/builds/worker-0/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tengrommel/rtmp on toolchain 6250d56355d72264ece721e8d0dc95b16a6824b1 [INFO] running `"/workspace/cargo-home/bin/cargo" "+6250d56355d72264ece721e8d0dc95b16a6824b1" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/tengrommel/rtmp [INFO] finished tweaking git repo https://github.com/tengrommel/rtmp [INFO] tweaked toml for git repo https://github.com/tengrommel/rtmp written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/tengrommel/rtmp already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+6250d56355d72264ece721e8d0dc95b16a6824b1" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+6250d56355d72264ece721e8d0dc95b16a6824b1" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8c51d1a799df5b1a55ec81b5e101ea4b920975f41dd644e9ad7b7081b1bc4ab7 [INFO] running `"docker" "start" "-a" "8c51d1a799df5b1a55ec81b5e101ea4b920975f41dd644e9ad7b7081b1bc4ab7"` [INFO] [stderr] Checking tokio v0.2.6 [INFO] [stderr] Checking tokio-util v0.2.0 [INFO] [stderr] Checking h2 v0.2.1 [INFO] [stderr] Checking hyper v0.13.1 [INFO] [stderr] Checking rtmp v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:77:61 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:95:29 [INFO] [stderr] | [INFO] [stderr] 95 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:99:57 [INFO] [stderr] | [INFO] [stderr] 99 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:117:29 [INFO] [stderr] | [INFO] [stderr] 117 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:121:57 [INFO] [stderr] | [INFO] [stderr] 121 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:139:29 [INFO] [stderr] | [INFO] [stderr] 139 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:143:61 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:161:29 [INFO] [stderr] | [INFO] [stderr] 161 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:165:57 [INFO] [stderr] | [INFO] [stderr] 165 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:77:61 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:95:29 [INFO] [stderr] | [INFO] [stderr] 95 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:99:57 [INFO] [stderr] | [INFO] [stderr] 99 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:117:29 [INFO] [stderr] | [INFO] [stderr] 117 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:121:57 [INFO] [stderr] | [INFO] [stderr] 121 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:139:29 [INFO] [stderr] | [INFO] [stderr] 139 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:143:61 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:161:29 [INFO] [stderr] | [INFO] [stderr] 161 | source: Option<&'static Error> [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rtmp/handshake.rs:165:57 [INFO] [stderr] | [INFO] [stderr] 165 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `VERSION_CHUNK_SIZE` [INFO] [stderr] --> src/rtmp/handshake.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | pub const VERSION_CHUNK_SIZE: usize = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HANDSHAKE_CHUNK_SIZE` [INFO] [stderr] --> src/rtmp/handshake.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | pub const HANDSHAKE_CHUNK_SIZE: usize = 1536; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RTMP_VERSION` [INFO] [stderr] --> src/rtmp/handshake.rs:49:1 [INFO] [stderr] | [INFO] [stderr] 49 | const RTMP_VERSION: u8 = 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `DIGEST_LEN` [INFO] [stderr] --> src/rtmp/handshake.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | pub const DIGEST_LEN: usize = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GENUINE_FMS_KEY` [INFO] [stderr] --> src/rtmp/handshake.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | / pub const GENUINE_FMS_KEY: &[u8] = &[ [INFO] [stderr] 52 | | 0x47, 0x65, 0x6e, 0x75, 0x69, 0x6e, 0x65, 0x20, 0x41, 0x64, [INFO] [stderr] 53 | | 0x6f, 0x62, 0x65, 0x20, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x20, [INFO] [stderr] 54 | | 0x4d, 0x65, 0x64, 0x69, 0x61, 0x20, 0x53, 0x65, 0x72, 0x76, [INFO] [stderr] ... | [INFO] [stderr] 58 | | 0x93, 0xb8, 0xe6, 0x36, 0xcf, 0xeb, 0x31, 0xae [INFO] [stderr] 59 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GENUINE_FP_KEY` [INFO] [stderr] --> src/rtmp/handshake.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | / pub const GENUINE_FP_KEY: &[u8] = &[ [INFO] [stderr] 61 | | 0x47, 0x65, 0x6e, 0x75, 0x69, 0x6e, 0x65, 0x20, 0x41, 0x64, [INFO] [stderr] 62 | | 0x6f, 0x62, 0x65, 0x20, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x20, [INFO] [stderr] 63 | | 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x20, 0x30, 0x30, 0x31, [INFO] [stderr] ... | [INFO] [stderr] 67 | | 0x31, 0xae [INFO] [stderr] 68 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DigestOffset1` [INFO] [stderr] --> src/rtmp/handshake.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | DigestOffset1, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DigestOffset2` [INFO] [stderr] --> src/rtmp/handshake.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | DigestOffset2 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connect` [INFO] [stderr] --> src/rtmp/handshake.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | Connect, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Handshake` [INFO] [stderr] --> src/rtmp/handshake.rs:190:5 [INFO] [stderr] | [INFO] [stderr] 190 | Handshake, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connected` [INFO] [stderr] --> src/rtmp/handshake.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | Connected, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Error` [INFO] [stderr] --> src/rtmp/handshake.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | Error, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Disconnecting` [INFO] [stderr] --> src/rtmp/handshake.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | Disconnecting, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Disconnected` [INFO] [stderr] --> src/rtmp/handshake.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | Disconnected [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:207:5 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn new(start_time: Duration) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_rtmp_state` [INFO] [stderr] --> src/rtmp/handshake.rs:217:5 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn set_rtmp_state(&mut self, state: RTMPState) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_rtmp_state` [INFO] [stderr] --> src/rtmp/handshake.rs:221:5 [INFO] [stderr] | [INFO] [stderr] 221 | pub fn get_rtmp_state(&self) -> &RTMPState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_up_time` [INFO] [stderr] --> src/rtmp/handshake.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | fn get_up_time(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `generate_unversioned_handshake` [INFO] [stderr] --> src/rtmp/handshake.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | fn generate_unversioned_handshake(&mut self, c1: &[u8], stream: &mut TcpStream) -> IOResult<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `decode_client_request1` [INFO] [stderr] --> src/rtmp/handshake.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | pub fn decode_client_request1(&mut self, stream: &mut TcpStream) -> IOResult<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `decode_client_request2` [INFO] [stderr] --> src/rtmp/handshake.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | pub fn decode_client_request2(&mut self, stream: &mut TcpStream) -> IOResult<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_handshake_bytes` [INFO] [stderr] --> src/rtmp/handshake.rs:400:4 [INFO] [stderr] | [INFO] [stderr] 400 | fn create_handshake_bytes(up_time: Duration) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_digest_offset1` [INFO] [stderr] --> src/rtmp/handshake.rs:416:4 [INFO] [stderr] | [INFO] [stderr] 416 | fn get_digest_offset1(handshake_bytes: &[u8]) -> IOResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_digest_offset2` [INFO] [stderr] --> src/rtmp/handshake.rs:434:4 [INFO] [stderr] | [INFO] [stderr] 434 | fn get_digest_offset2(handshake_bytes: &[u8]) -> IOResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_digest_offset` [INFO] [stderr] --> src/rtmp/handshake.rs:452:8 [INFO] [stderr] | [INFO] [stderr] 452 | pub fn get_digest_offset(algorithm: Algorithm, handshake_bytes: &[u8]) -> IOResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calculate_hmac_sha256` [INFO] [stderr] --> src/rtmp/handshake.rs:459:8 [INFO] [stderr] | [INFO] [stderr] 459 | pub fn calculate_hmac_sha256(message: &[u8], key: &[u8]) -> MacResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calculate_digest` [INFO] [stderr] --> src/rtmp/handshake.rs:472:8 [INFO] [stderr] | [INFO] [stderr] 472 | pub fn calculate_digest(digest_pos: usize, handshake_message: &[u8], key: &[u8]) -> MacResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `verify_digest` [INFO] [stderr] --> src/rtmp/handshake.rs:488:4 [INFO] [stderr] | [INFO] [stderr] 488 | fn verify_digest(digest_pos: usize, handshake_message: &[u8], key: &[u8]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calculate_swf_verification` [INFO] [stderr] --> src/rtmp/handshake.rs:496:4 [INFO] [stderr] | [INFO] [stderr] 496 | fn calculate_swf_verification(handshake_message: &[u8], swf_hash: &[u8], swf_size: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `VERSION_CHUNK_SIZE` [INFO] [stderr] --> src/rtmp/handshake.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | pub const VERSION_CHUNK_SIZE: usize = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HANDSHAKE_CHUNK_SIZE` [INFO] [stderr] --> src/rtmp/handshake.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | pub const HANDSHAKE_CHUNK_SIZE: usize = 1536; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RTMP_VERSION` [INFO] [stderr] --> src/rtmp/handshake.rs:49:1 [INFO] [stderr] | [INFO] [stderr] 49 | const RTMP_VERSION: u8 = 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `DIGEST_LEN` [INFO] [stderr] --> src/rtmp/handshake.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | pub const DIGEST_LEN: usize = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GENUINE_FMS_KEY` [INFO] [stderr] --> src/rtmp/handshake.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | / pub const GENUINE_FMS_KEY: &[u8] = &[ [INFO] [stderr] 52 | | 0x47, 0x65, 0x6e, 0x75, 0x69, 0x6e, 0x65, 0x20, 0x41, 0x64, [INFO] [stderr] 53 | | 0x6f, 0x62, 0x65, 0x20, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x20, [INFO] [stderr] 54 | | 0x4d, 0x65, 0x64, 0x69, 0x61, 0x20, 0x53, 0x65, 0x72, 0x76, [INFO] [stderr] ... | [INFO] [stderr] 58 | | 0x93, 0xb8, 0xe6, 0x36, 0xcf, 0xeb, 0x31, 0xae [INFO] [stderr] 59 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GENUINE_FP_KEY` [INFO] [stderr] --> src/rtmp/handshake.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | / pub const GENUINE_FP_KEY: &[u8] = &[ [INFO] [stderr] 61 | | 0x47, 0x65, 0x6e, 0x75, 0x69, 0x6e, 0x65, 0x20, 0x41, 0x64, [INFO] [stderr] 62 | | 0x6f, 0x62, 0x65, 0x20, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x20, [INFO] [stderr] 63 | | 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x20, 0x30, 0x30, 0x31, [INFO] [stderr] ... | [INFO] [stderr] 67 | | 0x31, 0xae [INFO] [stderr] 68 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | fn new(description: String, source: Option<&'static Error>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DigestOffset1` [INFO] [stderr] --> src/rtmp/handshake.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | DigestOffset1, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DigestOffset2` [INFO] [stderr] --> src/rtmp/handshake.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | DigestOffset2 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connect` [INFO] [stderr] --> src/rtmp/handshake.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | Connect, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Handshake` [INFO] [stderr] --> src/rtmp/handshake.rs:190:5 [INFO] [stderr] | [INFO] [stderr] 190 | Handshake, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connected` [INFO] [stderr] --> src/rtmp/handshake.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | Connected, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Error` [INFO] [stderr] --> src/rtmp/handshake.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | Error, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Disconnecting` [INFO] [stderr] --> src/rtmp/handshake.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | Disconnecting, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Disconnected` [INFO] [stderr] --> src/rtmp/handshake.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | Disconnected [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/rtmp/handshake.rs:207:5 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn new(start_time: Duration) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_rtmp_state` [INFO] [stderr] --> src/rtmp/handshake.rs:217:5 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn set_rtmp_state(&mut self, state: RTMPState) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_rtmp_state` [INFO] [stderr] --> src/rtmp/handshake.rs:221:5 [INFO] [stderr] | [INFO] [stderr] 221 | pub fn get_rtmp_state(&self) -> &RTMPState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_up_time` [INFO] [stderr] --> src/rtmp/handshake.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | fn get_up_time(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `generate_unversioned_handshake` [INFO] [stderr] --> src/rtmp/handshake.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | fn generate_unversioned_handshake(&mut self, c1: &[u8], stream: &mut TcpStream) -> IOResult<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `decode_client_request1` [INFO] [stderr] --> src/rtmp/handshake.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | pub fn decode_client_request1(&mut self, stream: &mut TcpStream) -> IOResult<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `decode_client_request2` [INFO] [stderr] --> src/rtmp/handshake.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | pub fn decode_client_request2(&mut self, stream: &mut TcpStream) -> IOResult<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_handshake_bytes` [INFO] [stderr] --> src/rtmp/handshake.rs:400:4 [INFO] [stderr] | [INFO] [stderr] 400 | fn create_handshake_bytes(up_time: Duration) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_digest_offset1` [INFO] [stderr] --> src/rtmp/handshake.rs:416:4 [INFO] [stderr] | [INFO] [stderr] 416 | fn get_digest_offset1(handshake_bytes: &[u8]) -> IOResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_digest_offset2` [INFO] [stderr] --> src/rtmp/handshake.rs:434:4 [INFO] [stderr] | [INFO] [stderr] 434 | fn get_digest_offset2(handshake_bytes: &[u8]) -> IOResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_digest_offset` [INFO] [stderr] --> src/rtmp/handshake.rs:452:8 [INFO] [stderr] | [INFO] [stderr] 452 | pub fn get_digest_offset(algorithm: Algorithm, handshake_bytes: &[u8]) -> IOResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calculate_hmac_sha256` [INFO] [stderr] --> src/rtmp/handshake.rs:459:8 [INFO] [stderr] | [INFO] [stderr] 459 | pub fn calculate_hmac_sha256(message: &[u8], key: &[u8]) -> MacResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calculate_digest` [INFO] [stderr] --> src/rtmp/handshake.rs:472:8 [INFO] [stderr] | [INFO] [stderr] 472 | pub fn calculate_digest(digest_pos: usize, handshake_message: &[u8], key: &[u8]) -> MacResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `verify_digest` [INFO] [stderr] --> src/rtmp/handshake.rs:488:4 [INFO] [stderr] | [INFO] [stderr] 488 | fn verify_digest(digest_pos: usize, handshake_message: &[u8], key: &[u8]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calculate_swf_verification` [INFO] [stderr] --> src/rtmp/handshake.rs:496:4 [INFO] [stderr] | [INFO] [stderr] 496 | fn calculate_swf_verification(handshake_message: &[u8], swf_hash: &[u8], swf_size: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 16.73s [INFO] running `"docker" "inspect" "8c51d1a799df5b1a55ec81b5e101ea4b920975f41dd644e9ad7b7081b1bc4ab7"` [INFO] running `"docker" "rm" "-f" "8c51d1a799df5b1a55ec81b5e101ea4b920975f41dd644e9ad7b7081b1bc4ab7"` [INFO] [stdout] 8c51d1a799df5b1a55ec81b5e101ea4b920975f41dd644e9ad7b7081b1bc4ab7