[INFO] cloning repository https://github.com/pajowu/snaprust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pajowu/snaprust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpajowu%2Fsnaprust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpajowu%2Fsnaprust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 832a60b34551a97bde28a493b368f53fd9430779 [INFO] testing pajowu/snaprust against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpajowu%2Fsnaprust" "/workspace/builds/worker-8/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/pajowu/snaprust on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/pajowu/snaprust [INFO] finished tweaking git repo https://github.com/pajowu/snaprust [INFO] tweaked toml for git repo https://github.com/pajowu/snaprust written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/pajowu/snaprust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clap v2.26.1 [INFO] [stderr] Downloaded simplelog v0.4.2 [INFO] [stderr] Downloaded hound v3.1.0 [INFO] [stderr] Downloaded alsa v0.1.10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 7427ad246483d7dfb63bffa927650a79bffd1fd7a2af195a4282d8bfd173a71b [INFO] running `Command { std: "docker" "start" "-a" "7427ad246483d7dfb63bffa927650a79bffd1fd7a2af195a4282d8bfd173a71b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7427ad246483d7dfb63bffa927650a79bffd1fd7a2af195a4282d8bfd173a71b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7427ad246483d7dfb63bffa927650a79bffd1fd7a2af195a4282d8bfd173a71b", kill_on_drop: false }` [INFO] [stdout] 7427ad246483d7dfb63bffa927650a79bffd1fd7a2af195a4282d8bfd173a71b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 0a265d379ca31ba7263ee06a22f5162c222d0758234699f19bfad11314813430 [INFO] running `Command { std: "docker" "start" "-a" "0a265d379ca31ba7263ee06a22f5162c222d0758234699f19bfad11314813430", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.15 [INFO] [stderr] Compiling hound v1.1.0 [INFO] [stderr] Compiling claxon v0.3.1 [INFO] [stderr] Compiling term v0.4.6 [INFO] [stderr] Compiling lazy_static v0.1.16 [INFO] [stderr] Compiling bitflags v0.8.2 [INFO] [stderr] Compiling hound v3.1.0 [INFO] [stderr] Compiling term_size v0.3.0 [INFO] [stderr] Compiling atty v0.2.2 [INFO] [stderr] Compiling alsa-sys v0.1.1 [INFO] [stderr] Compiling ogg v0.4.1 [INFO] [stderr] Compiling cgmath v0.14.1 [INFO] [stderr] Compiling serde_derive v1.0.15 [INFO] [stderr] Compiling textwrap v0.8.0 [INFO] [stderr] Compiling lewton v0.5.2 [INFO] [stderr] Compiling clap v2.26.1 [INFO] [stderr] Compiling simplelog v0.4.2 [INFO] [stderr] Compiling cpal v0.4.5 [INFO] [stderr] Compiling alsa v0.1.10 [INFO] [stderr] Compiling rodio v0.5.2 [INFO] [stderr] Compiling serde_json v1.0.3 [INFO] [stderr] Compiling snaprust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Access`, `Format`, `State` [INFO] [stdout] --> src/main.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WriteLogger` [INFO] [stdout] --> src/main.rs:13:37 [INFO] [stdout] | [INFO] [stdout] 13 | use simplelog::{Config, TermLogger, WriteLogger, CombinedLogger, LogLevelFilter}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SubCommand` [INFO] [stdout] --> src/main.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | use clap::{Arg, App, SubCommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ValueOr` [INFO] [stdout] --> src/main.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | use alsa::{Direction, ValueOr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Write` [INFO] [stdout] --> src/main.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | use std::io::{Write, Read}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Mutex` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use std::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde` [INFO] [stdout] --> src/message.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use serde; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_derive` [INFO] [stdout] --> src/message.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_derive; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/message.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{Write, Read, Error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | let refers_to = try!(socket.read_u16::()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SnapMessageData`, `TimeVal` [INFO] [stdout] --> src/main.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | use message::{SnapMessageData, TimeVal}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/network_handler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Mutex` [INFO] [stdout] --> src/network_handler.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stdout] --> src/network_handler.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::{SystemTime, UNIX_EPOCH, Instant}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log` [INFO] [stdout] --> src/network_handler.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use log; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `simplelog` [INFO] [stdout] --> src/network_handler.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use simplelog; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hound` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use hound; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PCM`, `State` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Direction` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | use alsa::{Direction, ValueOr}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Access`, `Format`, `PCM`, `State` [INFO] [stdout] --> src/decoder/mod.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stdout] | ^^^ ^^^^^^ ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::vec::IntoIter` [INFO] [stdout] --> src/time_provider.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::vec::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:246:84 [INFO] [stdout] | [INFO] [stdout] 246 | fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 246 - fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stdout] 246 + fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:255:41 [INFO] [stdout] | [INFO] [stdout] 255 | fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 - fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stdout] 255 + fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | let t: &SnapMessageData = match self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 - let t: &SnapMessageData = match self { [INFO] [stdout] 88 + let t: &dyn SnapMessageData = match self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:183:33 [INFO] [stdout] | [INFO] [stdout] 183 | let mut decoder: Option> = None; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 - let mut decoder: Option> = None; [INFO] [stdout] 183 + let mut decoder: Option> = None; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 190 | / loop { [INFO] [stdout] 191 | | while let Ok(msg) = msg_rx.try_recv() { [INFO] [stdout] 192 | | debug!("Got message: {:?}", msg); [INFO] [stdout] 193 | | match msg.type_ { [INFO] [stdout] ... | [INFO] [stdout] 239 | | thread::sleep(time::Duration::from_millis(1000)); [INFO] [stdout] 240 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 241 | [INFO] [stdout] 242 | t.join(); [INFO] [stdout] | ^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:247:22 [INFO] [stdout] | [INFO] [stdout] 247 | let decoder: Box = match data.codec.as_str() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 247 - let decoder: Box = match data.codec.as_str() { [INFO] [stdout] 247 + let decoder: Box = match data.codec.as_str() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:3:42 [INFO] [stdout] | [INFO] [stdout] 3 | use byteorder::{ByteOrder, LittleEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `host` [INFO] [stdout] --> src/main.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | let host = matches.value_of("HOST").unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_host` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/main.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | let t = thread::spawn(move || { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/main.rs:273:24 [INFO] [stdout] | [INFO] [stdout] 273 | fn handleServerSetting(data: message::ServerSettingsData) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/message.rs:160:20 [INFO] [stdout] | [INFO] [stdout] 160 | fn deserialize(data: &[u8]) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/message.rs:181:24 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn deserialize(data: Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/message.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | let data = socket.read(&mut buf); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk` [INFO] [stdout] --> src/decoder/mod.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | fn decode(&self, chunk: Vec) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/decoder/mod.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | fn setHeader(&self, header: message::CodecHeaderData) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pcm` [INFO] [stdout] --> src/decoder/mod.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | fn get_hwparams(&self, pcm: &HwParams) { } [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pcm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | let mut data = Vec::from(data); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message.rs:339:13 [INFO] [stdout] | [INFO] [stdout] 339 | let mut data = Vec::from(data); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/network_handler.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let mut stream = TcpStream::connect(host).unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/decoder/pcm_decoder.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | fn setHeader(&self, mut header: message::CodecHeaderData) { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133) [INFO] [stdout] --> src/decoder/pcm_decoder.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unaligned_references)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #82523 [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133) [INFO] [stdout] --> src/decoder/pcm_decoder.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #82523 [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/decoder/pcm_decoder.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `deserialize_u16` [INFO] [stdout] --> src/message.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn deserialize_u16(buf: &[u8]) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `deserialize_u32` [INFO] [stdout] --> src/message.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn deserialize_u32(buf: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `deserialize_i32` [INFO] [stdout] --> src/message.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn deserialize_i32(buf: &[u8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BASE_MESSAGE_SIZE` [INFO] [stdout] --> src/message.rs:150:1 [INFO] [stdout] | [INFO] [stdout] 150 | const BASE_MESSAGE_SIZE: usize = 26; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `deserialize` [INFO] [stdout] --> src/message.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn deserialize(data: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fill_queue` [INFO] [stdout] --> src/network_handler.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn fill_queue(sender: mpsc::Sender, stream: TcpStream) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | msg_tx.send(hello_msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 177 | msg_tx.send(time_msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:234:13 [INFO] [stdout] | [INFO] [stdout] 234 | pcm.recover(e.code(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | t.join(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handleCodecHeader` should have a snake case name [INFO] [stdout] --> src/main.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_codec_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handleWireChunk` should have a snake case name [INFO] [stdout] --> src/main.rs:255:4 [INFO] [stdout] | [INFO] [stdout] 255 | fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_wire_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handleServerSetting` should have a snake case name [INFO] [stdout] --> src/main.rs:273:4 [INFO] [stdout] | [INFO] [stdout] 273 | fn handleServerSetting(data: message::ServerSettingsData) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_server_setting` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handleTime` should have a snake case name [INFO] [stdout] --> src/main.rs:276:4 [INFO] [stdout] | [INFO] [stdout] 276 | fn handleTime(data: message::TimeData, time_provider: &mut TimeProvider) { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `handle_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/network_handler.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | stream.set_nonblocking(true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/network_handler.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | self.stream.write_all(&msg[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/network_handler.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | self.stream.write_all(&msg[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/network_handler.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | self.recv_message_channel.send(msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `setHeader` should have a snake case name [INFO] [stdout] --> src/decoder/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | fn setHeader(&self, header: message::CodecHeaderData); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `set_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 42.20s [INFO] running `Command { std: "docker" "inspect" "0a265d379ca31ba7263ee06a22f5162c222d0758234699f19bfad11314813430", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a265d379ca31ba7263ee06a22f5162c222d0758234699f19bfad11314813430", kill_on_drop: false }` [INFO] [stdout] 0a265d379ca31ba7263ee06a22f5162c222d0758234699f19bfad11314813430 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] abc743e5062cb085fe25e6f4eb5942ee26930da136e2d2dc0c76b59d9627e347 [INFO] running `Command { std: "docker" "start" "-a" "abc743e5062cb085fe25e6f4eb5942ee26930da136e2d2dc0c76b59d9627e347", kill_on_drop: false }` [INFO] [stderr] Compiling snaprust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Access`, `Format`, `State` [INFO] [stdout] --> src/main.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WriteLogger` [INFO] [stdout] --> src/main.rs:13:37 [INFO] [stdout] | [INFO] [stdout] 13 | use simplelog::{Config, TermLogger, WriteLogger, CombinedLogger, LogLevelFilter}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SubCommand` [INFO] [stdout] --> src/main.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | use clap::{Arg, App, SubCommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ValueOr` [INFO] [stdout] --> src/main.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | use alsa::{Direction, ValueOr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Write` [INFO] [stdout] --> src/main.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | use std::io::{Write, Read}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Mutex` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use std::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde` [INFO] [stdout] --> src/message.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use serde; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_derive` [INFO] [stdout] --> src/message.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_derive; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/message.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{Write, Read, Error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/message.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | let refers_to = try!(socket.read_u16::()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SnapMessageData`, `TimeVal` [INFO] [stdout] --> src/main.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | use message::{SnapMessageData, TimeVal}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/network_handler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Mutex` [INFO] [stdout] --> src/network_handler.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stdout] --> src/network_handler.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::{SystemTime, UNIX_EPOCH, Instant}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log` [INFO] [stdout] --> src/network_handler.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use log; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `simplelog` [INFO] [stdout] --> src/network_handler.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use simplelog; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hound` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use hound; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PCM`, `State` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Direction` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | use alsa::{Direction, ValueOr}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Access`, `Format`, `PCM`, `State` [INFO] [stdout] --> src/decoder/mod.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stdout] | ^^^ ^^^^^^ ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::vec::IntoIter` [INFO] [stdout] --> src/time_provider.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::vec::IntoIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:246:84 [INFO] [stdout] | [INFO] [stdout] 246 | fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 246 - fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stdout] 246 + fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:255:41 [INFO] [stdout] | [INFO] [stdout] 255 | fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 - fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stdout] 255 + fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/message.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | let t: &SnapMessageData = match self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 - let t: &SnapMessageData = match self { [INFO] [stdout] 88 + let t: &dyn SnapMessageData = match self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:183:33 [INFO] [stdout] | [INFO] [stdout] 183 | let mut decoder: Option> = None; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 - let mut decoder: Option> = None; [INFO] [stdout] 183 + let mut decoder: Option> = None; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 190 | / loop { [INFO] [stdout] 191 | | while let Ok(msg) = msg_rx.try_recv() { [INFO] [stdout] 192 | | debug!("Got message: {:?}", msg); [INFO] [stdout] 193 | | match msg.type_ { [INFO] [stdout] ... | [INFO] [stdout] 239 | | thread::sleep(time::Duration::from_millis(1000)); [INFO] [stdout] 240 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 241 | [INFO] [stdout] 242 | t.join(); [INFO] [stdout] | ^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:247:22 [INFO] [stdout] | [INFO] [stdout] 247 | let decoder: Box = match data.codec.as_str() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 247 - let decoder: Box = match data.codec.as_str() { [INFO] [stdout] 247 + let decoder: Box = match data.codec.as_str() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/decoder/pcm_decoder.rs:3:42 [INFO] [stdout] | [INFO] [stdout] 3 | use byteorder::{ByteOrder, LittleEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `host` [INFO] [stdout] --> src/main.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | let host = matches.value_of("HOST").unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_host` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/main.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | let t = thread::spawn(move || { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/main.rs:273:24 [INFO] [stdout] | [INFO] [stdout] 273 | fn handleServerSetting(data: message::ServerSettingsData) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/message.rs:160:20 [INFO] [stdout] | [INFO] [stdout] 160 | fn deserialize(data: &[u8]) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/message.rs:181:24 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn deserialize(data: Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/message.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | let data = socket.read(&mut buf); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk` [INFO] [stdout] --> src/decoder/mod.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | fn decode(&self, chunk: Vec) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/decoder/mod.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | fn setHeader(&self, header: message::CodecHeaderData) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pcm` [INFO] [stdout] --> src/decoder/mod.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | fn get_hwparams(&self, pcm: &HwParams) { } [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pcm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | let mut data = Vec::from(data); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message.rs:339:13 [INFO] [stdout] | [INFO] [stdout] 339 | let mut data = Vec::from(data); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/network_handler.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let mut stream = TcpStream::connect(host).unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/decoder/pcm_decoder.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | fn setHeader(&self, mut header: message::CodecHeaderData) { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133) [INFO] [stdout] --> src/decoder/pcm_decoder.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unaligned_references)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #82523 [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133) [INFO] [stdout] --> src/decoder/pcm_decoder.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #82523 [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/decoder/pcm_decoder.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `deserialize_u16` [INFO] [stdout] --> src/message.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn deserialize_u16(buf: &[u8]) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `deserialize_u32` [INFO] [stdout] --> src/message.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn deserialize_u32(buf: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `deserialize_i32` [INFO] [stdout] --> src/message.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn deserialize_i32(buf: &[u8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BASE_MESSAGE_SIZE` [INFO] [stdout] --> src/message.rs:150:1 [INFO] [stdout] | [INFO] [stdout] 150 | const BASE_MESSAGE_SIZE: usize = 26; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `deserialize` [INFO] [stdout] --> src/message.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn deserialize(data: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fill_queue` [INFO] [stdout] --> src/network_handler.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn fill_queue(sender: mpsc::Sender, stream: TcpStream) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | msg_tx.send(hello_msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 177 | msg_tx.send(time_msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:234:13 [INFO] [stdout] | [INFO] [stdout] 234 | pcm.recover(e.code(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | t.join(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handleCodecHeader` should have a snake case name [INFO] [stdout] --> src/main.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_codec_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handleWireChunk` should have a snake case name [INFO] [stdout] --> src/main.rs:255:4 [INFO] [stdout] | [INFO] [stdout] 255 | fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_wire_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handleServerSetting` should have a snake case name [INFO] [stdout] --> src/main.rs:273:4 [INFO] [stdout] | [INFO] [stdout] 273 | fn handleServerSetting(data: message::ServerSettingsData) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_server_setting` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handleTime` should have a snake case name [INFO] [stdout] --> src/main.rs:276:4 [INFO] [stdout] | [INFO] [stdout] 276 | fn handleTime(data: message::TimeData, time_provider: &mut TimeProvider) { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `handle_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/network_handler.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | stream.set_nonblocking(true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/network_handler.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | self.stream.write_all(&msg[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/network_handler.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | self.stream.write_all(&msg[..]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/network_handler.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | self.recv_message_channel.send(msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `setHeader` should have a snake case name [INFO] [stdout] --> src/decoder/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | fn setHeader(&self, header: message::CodecHeaderData); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `set_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.40s [INFO] running `Command { std: "docker" "inspect" "abc743e5062cb085fe25e6f4eb5942ee26930da136e2d2dc0c76b59d9627e347", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "abc743e5062cb085fe25e6f4eb5942ee26930da136e2d2dc0c76b59d9627e347", kill_on_drop: false }` [INFO] [stdout] abc743e5062cb085fe25e6f4eb5942ee26930da136e2d2dc0c76b59d9627e347 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 95fcdc7f4cd9ee90f615af3d13b3049dff3f37b5e5a98a33f4251ed4891ce916 [INFO] running `Command { std: "docker" "start" "-a" "95fcdc7f4cd9ee90f615af3d13b3049dff3f37b5e5a98a33f4251ed4891ce916", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `Access`, `Format`, `State` [INFO] [stderr] --> src/main.rs:8:32 [INFO] [stderr] | [INFO] [stderr] 8 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stderr] | ^^^^^^ ^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `WriteLogger` [INFO] [stderr] --> src/main.rs:13:37 [INFO] [stderr] | [INFO] [stderr] 13 | use simplelog::{Config, TermLogger, WriteLogger, CombinedLogger, LogLevelFilter}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SubCommand` [INFO] [stderr] --> src/main.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | use clap::{Arg, App, SubCommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ValueOr` [INFO] [stderr] --> src/main.rs:18:23 [INFO] [stderr] | [INFO] [stderr] 18 | use alsa::{Direction, ValueOr}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::TcpStream` [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use std::net::TcpStream; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `Write` [INFO] [stderr] --> src/main.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | use std::io::{Write, Read}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc` [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use std::sync::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/main.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Mutex` [INFO] [stderr] --> src/main.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use std::sync::Mutex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde` [INFO] [stderr] --> src/message.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use serde; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_derive` [INFO] [stderr] --> src/message.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use serde_derive; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> src/message.rs:8:15 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::{Write, Read, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/message.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | let refers_to = try!(socket.read_u16::()); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SnapMessageData`, `TimeVal` [INFO] [stderr] --> src/main.rs:29:15 [INFO] [stderr] | [INFO] [stderr] 29 | use message::{SnapMessageData, TimeVal}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/network_handler.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Mutex` [INFO] [stderr] --> src/network_handler.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::Mutex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/network_handler.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | use std::time::{SystemTime, UNIX_EPOCH, Instant}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `log` [INFO] [stderr] --> src/network_handler.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use log; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `simplelog` [INFO] [stderr] --> src/network_handler.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use simplelog; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Range` [INFO] [stderr] --> src/decoder/pcm_decoder.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ops::Range; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hound` [INFO] [stderr] --> src/decoder/pcm_decoder.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use hound; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Cursor` [INFO] [stderr] --> src/decoder/pcm_decoder.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::Cursor; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PCM`, `State` [INFO] [stderr] --> src/decoder/pcm_decoder.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Direction` [INFO] [stderr] --> src/decoder/pcm_decoder.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | use alsa::{Direction, ValueOr}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Access`, `Format`, `PCM`, `State` [INFO] [stderr] --> src/decoder/mod.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | use alsa::pcm::{PCM, HwParams, Format, Access, State}; [INFO] [stderr] | ^^^ ^^^^^^ ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::vec::IntoIter` [INFO] [stderr] --> src/time_provider.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::vec::IntoIter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:246:84 [INFO] [stderr] | [INFO] [stderr] 246 | fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 246 - fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stderr] 246 + fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:255:41 [INFO] [stderr] | [INFO] [stderr] 255 | fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 255 - fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stderr] 255 + fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/message.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | let t: &SnapMessageData = match self { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 88 - let t: &SnapMessageData = match self { [INFO] [stderr] 88 + let t: &dyn SnapMessageData = match self { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:183:33 [INFO] [stderr] | [INFO] [stderr] 183 | let mut decoder: Option> = None; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 183 - let mut decoder: Option> = None; [INFO] [stderr] 183 + let mut decoder: Option> = None; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/main.rs:242:5 [INFO] [stderr] | [INFO] [stderr] 190 | / loop { [INFO] [stderr] 191 | | while let Ok(msg) = msg_rx.try_recv() { [INFO] [stderr] 192 | | debug!("Got message: {:?}", msg); [INFO] [stderr] 193 | | match msg.type_ { [INFO] [stderr] ... | [INFO] [stderr] 239 | | thread::sleep(time::Duration::from_millis(1000)); [INFO] [stderr] 240 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 241 | [INFO] [stderr] 242 | t.join(); [INFO] [stderr] | ^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:247:22 [INFO] [stderr] | [INFO] [stderr] 247 | let decoder: Box = match data.codec.as_str() { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 247 - let decoder: Box = match data.codec.as_str() { [INFO] [stderr] 247 + let decoder: Box = match data.codec.as_str() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReadBytesExt` [INFO] [stderr] --> src/decoder/pcm_decoder.rs:3:42 [INFO] [stderr] | [INFO] [stderr] 3 | use byteorder::{ByteOrder, LittleEndian, ReadBytesExt}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `host` [INFO] [stderr] --> src/main.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let host = matches.value_of("HOST").unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_host` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/main.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | let t = thread::spawn(move || { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/main.rs:273:24 [INFO] [stderr] | [INFO] [stderr] 273 | fn handleServerSetting(data: message::ServerSettingsData) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/message.rs:160:20 [INFO] [stderr] | [INFO] [stderr] 160 | fn deserialize(data: &[u8]) -> Self { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/message.rs:181:24 [INFO] [stderr] | [INFO] [stderr] 181 | pub fn deserialize(data: Vec) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/message.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | let data = socket.read(&mut buf); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `chunk` [INFO] [stderr] --> src/decoder/mod.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | fn decode(&self, chunk: Vec) -> Vec { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `header` [INFO] [stderr] --> src/decoder/mod.rs:21:25 [INFO] [stderr] | [INFO] [stderr] 21 | fn setHeader(&self, header: message::CodecHeaderData) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pcm` [INFO] [stderr] --> src/decoder/mod.rs:27:28 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_hwparams(&self, pcm: &HwParams) { } [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_pcm` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:311:13 [INFO] [stderr] | [INFO] [stderr] 311 | let mut data = Vec::from(data); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/message.rs:339:13 [INFO] [stderr] | [INFO] [stderr] 339 | let mut data = Vec::from(data); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/network_handler.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | let mut stream = TcpStream::connect(host).unwrap(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/decoder/pcm_decoder.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | fn setHeader(&self, mut header: message::CodecHeaderData) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133) [INFO] [stderr] --> src/decoder/pcm_decoder.rs:13:10 [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Debug, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unaligned_references)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #82523 [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133) [INFO] [stderr] --> src/decoder/pcm_decoder.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Debug, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #82523 [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/decoder/pcm_decoder.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `deserialize_u16` [INFO] [stderr] --> src/message.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn deserialize_u16(buf: &[u8]) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `deserialize_u32` [INFO] [stderr] --> src/message.rs:36:8 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn deserialize_u32(buf: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `deserialize_i32` [INFO] [stderr] --> src/message.rs:40:8 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn deserialize_i32(buf: &[u8]) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `BASE_MESSAGE_SIZE` [INFO] [stderr] --> src/message.rs:150:1 [INFO] [stderr] | [INFO] [stderr] 150 | const BASE_MESSAGE_SIZE: usize = 26; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `deserialize` [INFO] [stderr] --> src/message.rs:181:12 [INFO] [stderr] | [INFO] [stderr] 181 | pub fn deserialize(data: Vec) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fill_queue` [INFO] [stderr] --> src/network_handler.rs:81:8 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn fill_queue(sender: mpsc::Sender, stream: TcpStream) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | msg_tx.send(hello_msg); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | msg_tx.send(time_msg); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:234:13 [INFO] [stderr] | [INFO] [stderr] 234 | pcm.recover(e.code(), true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:242:5 [INFO] [stderr] | [INFO] [stderr] 242 | t.join(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: function `handleCodecHeader` should have a snake case name [INFO] [stderr] --> src/main.rs:246:4 [INFO] [stderr] | [INFO] [stderr] 246 | fn handleCodecHeader(data: message::CodecHeaderData, hwp: &HwParams) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_codec_header` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `handleWireChunk` should have a snake case name [INFO] [stderr] --> src/main.rs:255:4 [INFO] [stderr] | [INFO] [stderr] 255 | fn handleWireChunk(decoder: &Option>, data: message::WireChunkData) -> Option<(usize,Vec)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_wire_chunk` [INFO] [stderr] [INFO] [stderr] warning: function `handleServerSetting` should have a snake case name [INFO] [stderr] --> src/main.rs:273:4 [INFO] [stderr] | [INFO] [stderr] 273 | fn handleServerSetting(data: message::ServerSettingsData) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `handle_server_setting` [INFO] [stderr] [INFO] [stderr] warning: function `handleTime` should have a snake case name [INFO] [stderr] --> src/main.rs:276:4 [INFO] [stderr] | [INFO] [stderr] 276 | fn handleTime(data: message::TimeData, time_provider: &mut TimeProvider) { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `handle_time` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/network_handler.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | stream.set_nonblocking(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/network_handler.rs:60:17 [INFO] [stderr] | [INFO] [stderr] 60 | self.stream.write_all(&msg[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/network_handler.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | self.stream.write_all(&msg[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/network_handler.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | self.recv_message_channel.send(msg); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: trait method `setHeader` should have a snake case name [INFO] [stderr] --> src/decoder/mod.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | fn setHeader(&self, header: message::CodecHeaderData); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `set_header` [INFO] [stderr] [INFO] [stderr] warning: `snaprust` (bin "snaprust" test) generated 68 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/snaprust-d385b8917548bbf2) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "95fcdc7f4cd9ee90f615af3d13b3049dff3f37b5e5a98a33f4251ed4891ce916", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95fcdc7f4cd9ee90f615af3d13b3049dff3f37b5e5a98a33f4251ed4891ce916", kill_on_drop: false }` [INFO] [stdout] 95fcdc7f4cd9ee90f615af3d13b3049dff3f37b5e5a98a33f4251ed4891ce916