[INFO] cloning repository https://github.com/Sniadekk/home-fm-server [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sniadekk/home-fm-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSniadekk%2Fhome-fm-server"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSniadekk%2Fhome-fm-server'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] de5b28ac48b34e95cf7034d14bbffb772801f212 [INFO] testing Sniadekk/home-fm-server against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSniadekk%2Fhome-fm-server" "/workspace/builds/worker-7/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Sniadekk/home-fm-server on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/Sniadekk/home-fm-server [INFO] finished tweaking git repo https://github.com/Sniadekk/home-fm-server [INFO] tweaked toml for git repo https://github.com/Sniadekk/home-fm-server written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/Sniadekk/home-fm-server already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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=warn" "-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" "+1.44.0" "build" "--frozen"` [INFO] [stdout] e622046670a231239355f325d7b2089cf703fc95737faf13fb4264b5eaa7fea3 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "e622046670a231239355f325d7b2089cf703fc95737faf13fb4264b5eaa7fea3"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling autocfg v0.1.2 [INFO] [stderr] Compiling byteorder v1.3.1 [INFO] [stderr] Compiling futures v0.1.25 [INFO] [stderr] Compiling encoding_index_tests v0.1.4 [INFO] [stderr] Compiling memchr v2.2.0 [INFO] [stderr] Compiling serde v1.0.89 [INFO] [stderr] Compiling rustc-demangle v0.1.13 [INFO] [stderr] Compiling arc-swap v0.3.7 [INFO] [stderr] Compiling regex v1.1.2 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling itoa v0.4.3 [INFO] [stderr] Compiling linked-hash-map v0.4.2 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling ryu v0.2.7 [INFO] [stderr] Compiling pkg-config v0.3.14 [INFO] [stderr] Compiling httparse v1.3.3 [INFO] [stderr] Compiling safemem v0.3.0 [INFO] [stderr] Compiling antidote v1.0.0 [INFO] [stderr] Compiling string v0.1.3 [INFO] [stderr] Compiling indexmap v1.0.2 [INFO] [stderr] Compiling dtoa v0.4.3 [INFO] [stderr] Compiling termcolor v1.0.4 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling miniz-sys v0.1.11 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Compiling brotli-sys v0.3.2 [INFO] [stderr] Compiling unicase v2.3.0 [INFO] [stderr] Compiling v_escape v0.3.2 [INFO] [stderr] Compiling v_htmlescape v0.3.2 [INFO] [stderr] Compiling actix-web v0.7.18 [INFO] [stderr] Compiling rand_jitter v0.1.3 [INFO] [stderr] Compiling unicode-normalization v0.1.8 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Compiling humantime v1.2.0 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling regex-syntax v0.6.5 [INFO] [stderr] Compiling encoding-index-simpchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-tradchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-singlebyte v1.20141219.5 [INFO] [stderr] Compiling encoding-index-japanese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-korean v1.20141219.5 [INFO] [stderr] Compiling lru-cache v0.1.1 [INFO] [stderr] Compiling scheduled-thread-pool v0.2.0 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling backtrace v0.3.14 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling crossbeam-queue v0.1.2 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling iovec v0.1.2 [INFO] [stderr] Compiling net2 v0.2.33 [INFO] [stderr] Compiling socket2 v0.3.8 [INFO] [stderr] Compiling hostname v0.1.5 [INFO] [stderr] Compiling signal-hook v0.1.8 [INFO] [stderr] Compiling time v0.1.42 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling listenfd v0.3.3 [INFO] [stderr] Compiling r2d2 v0.8.3 [INFO] [stderr] Compiling encoding v0.2.33 [INFO] [stderr] Compiling libsqlite3-sys v0.12.0 [INFO] [stderr] Compiling resolv-conf v0.6.2 [INFO] [stderr] Compiling tokio-executor v0.1.6 [INFO] [stderr] Compiling tokio-sync v0.1.3 [INFO] [stderr] Compiling tower-service v0.1.0 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling mio v0.6.16 [INFO] [stderr] Compiling phf_shared v0.7.24 [INFO] [stderr] Compiling bytes v0.4.11 [INFO] [stderr] Compiling base64 v0.9.3 [INFO] [stderr] Compiling base64 v0.10.1 [INFO] [stderr] Compiling crossbeam-deque v0.7.1 [INFO] [stderr] Compiling syn v0.15.27 [INFO] [stderr] Compiling aho-corasick v0.6.10 [INFO] [stderr] Compiling nom v4.2.2 [INFO] [stderr] Compiling flate2 v1.0.6 [INFO] [stderr] Compiling idna v0.1.5 [INFO] [stderr] Compiling tokio-timer v0.2.10 [INFO] [stderr] Compiling tokio-current-thread v0.1.5 [INFO] [stderr] Compiling mime v0.3.13 [INFO] [stderr] Compiling phf v0.7.24 [INFO] [stderr] Compiling tokio-io v0.1.12 [INFO] [stderr] Compiling http v0.1.16 [INFO] [stderr] Compiling mio-uds v0.6.7 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling tokio-codec v0.1.1 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Compiling tokio-threadpool v0.1.12 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Compiling mime_guess v2.0.0-alpha.6 [INFO] [stderr] Compiling parking_lot v0.7.1 [INFO] [stderr] Compiling cookie v0.11.0 [INFO] [stderr] Compiling brotli2 v0.3.2 [INFO] [stderr] Compiling tokio-reactor v0.1.9 [INFO] [stderr] Compiling tokio-fs v0.1.6 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling tokio-tcp v0.1.3 [INFO] [stderr] Compiling tokio-udp v0.1.3 [INFO] [stderr] Compiling tokio-uds v0.2.5 [INFO] [stderr] Compiling tokio-signal v0.2.7 [INFO] [stderr] Compiling h2 v0.1.16 [INFO] [stderr] Compiling tokio v0.1.16 [INFO] [stderr] Compiling tokio-process v0.2.3 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Compiling serde_derive v1.0.89 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Compiling actix_derive v0.3.2 [INFO] [stderr] Compiling v_escape_derive v0.2.1 [INFO] [stderr] Compiling diesel_derives v1.4.0 [INFO] [stderr] Compiling failure v0.1.5 [INFO] [stderr] Compiling trust-dns-proto v0.6.3 [INFO] [stderr] Compiling trust-dns-proto v0.5.0 [INFO] [stderr] Compiling dotenv v0.13.0 [INFO] [stderr] Compiling trust-dns-resolver v0.10.3 [INFO] [stderr] Compiling uuid v0.7.2 [INFO] [stderr] Compiling chrono v0.4.6 [INFO] [stderr] Compiling serde_urlencoded v0.5.4 [INFO] [stderr] Compiling serde_json v1.0.39 [INFO] [stderr] Compiling actix v0.7.9 [INFO] [stderr] Compiling diesel v1.4.2 [INFO] [stderr] Compiling actix-net v0.2.6 [INFO] [stderr] Compiling home-fm-server v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `GetRandomSong` [INFO] [stderr] --> src/song.rs:1:42 [INFO] [stderr] | [INFO] [stderr] 1 | use super::db::{DeleteSong, GetAllSongs, GetRandomSong, ToggleSongNsfw}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error as AWError` [INFO] [stderr] --> src/song.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use actix_web::{AsyncResponder, Error as AWError, FutureResponse, HttpResponse, Path, State}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> src/song.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::song_queue::SongQueue` [INFO] [stderr] --> src/client_publisher.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::song_queue::SongQueue; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error as AWError` [INFO] [stderr] --> src/config.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use actix_web::{AsyncResponder, Error as AWError, FutureResponse, HttpResponse, Json, State}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Song` [INFO] [stderr] --> src/io.rs:1:34 [INFO] [stderr] | [INFO] [stderr] 1 | use super::song::{download_song, Song}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `StaticFileConfig`, `StaticFiles` [INFO] [stderr] --> src/system.rs:10:32 [INFO] [stderr] | [INFO] [stderr] 10 | use actix_web::fs::{NamedFile, StaticFileConfig, StaticFiles}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/system.rs:98:18 [INFO] [stderr] | [INFO] [stderr] 98 | .start();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::future::Future` [INFO] [stderr] --> src/web_socket.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::Future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Future` [INFO] [stderr] --> src/song_queue.rs:14:37 [INFO] [stderr] | [INFO] [stderr] 14 | use futures::future::{ok as fut_ok, Future}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/web_socket.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | _ => (), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/main.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | let system = System::new(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_system` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `song_name` [INFO] [stderr] --> src/song.rs:125:35 [INFO] [stderr] | [INFO] [stderr] 125 | fn get_song_info(song_path: &str, song_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_song_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:20:35 [INFO] [stderr] | [INFO] [stderr] 20 | fn service_started(&mut self, ctx: &mut Context) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:44:41 [INFO] [stderr] | [INFO] [stderr] 44 | fn handle(&mut self, msg: DeleteWS, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:64:43 [INFO] [stderr] | [INFO] [stderr] 64 | fn handle(&mut self, msg: RegisterWS, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:76:47 [INFO] [stderr] | [INFO] [stderr] 76 | fn handle(&mut self, msg: UserMessage, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/db.rs:50:26 [INFO] [stderr] | [INFO] [stderr] 50 | fn handle(&mut self, msg: GetRandomSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:50:46 [INFO] [stderr] | [INFO] [stderr] 50 | fn handle(&mut self, msg: GetRandomSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:68:51 [INFO] [stderr] | [INFO] [stderr] 68 | fn handle(&mut self, msg: CheckSongExistence, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:85:41 [INFO] [stderr] | [INFO] [stderr] 85 | fn handle(&mut self, msg: SaveSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/db.rs:99:26 [INFO] [stderr] | [INFO] [stderr] 99 | fn handle(&mut self, msg: GetAllSongs, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:99:44 [INFO] [stderr] | [INFO] [stderr] 99 | fn handle(&mut self, msg: GetAllSongs, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:117:47 [INFO] [stderr] | [INFO] [stderr] 117 | fn handle(&mut self, msg: ToggleSongNsfw, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:134:43 [INFO] [stderr] | [INFO] [stderr] 134 | fn handle(&mut self, msg: DeleteSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/io.rs:29:38 [INFO] [stderr] | [INFO] [stderr] 29 | fn handle(&mut self, msg: IOJob, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:59:27 [INFO] [stderr] | [INFO] [stderr] 59 | fn started(&mut self, ctx: &mut Self::Context) {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:113:45 [INFO] [stderr] | [INFO] [stderr] 113 | fn handle(&mut self, msg: SetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/radio.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | fn handle(&mut self, msg: GetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:127:45 [INFO] [stderr] | [INFO] [stderr] 127 | fn handle(&mut self, msg: GetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/song_queue.rs:152:31 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:152:34 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:152:37 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:192:37 [INFO] [stderr] | [INFO] [stderr] 192 | .and_then(|song, actor, ctx| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | .and_then(|song, actor, ctx| (fut_ok(song.unwrap()).into_actor(actor))) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | ctx: &mut ActorContext, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:217:56 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:217:59 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `actor` [INFO] [stderr] --> src/song_queue.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_actor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:217:36 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:219:26 [INFO] [stderr] | [INFO] [stderr] 219 | .map_err(|e, a, c| println!("db crashed - {:#?}", e)), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | .map_err(|e, a, c| println!("db crashed - {:#?}", e)), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/song_queue.rs:227:26 [INFO] [stderr] | [INFO] [stderr] 227 | fn handle(&mut self, msg: radio::NextSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/song_queue.rs:244:26 [INFO] [stderr] | [INFO] [stderr] 244 | fn handle(&mut self, msg: BroadcastState, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:244:47 [INFO] [stderr] | [INFO] [stderr] 244 | fn handle(&mut self, msg: BroadcastState, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/system.rs:52:37 [INFO] [stderr] | [INFO] [stderr] 52 | let radio = Arbiter::start(|ctx| Radio::new()); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/song_queue.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(scheduled_song) = self.songs_queue.first() { [INFO] [stderr] | ---------------- immutable borrow occurs here [INFO] [stderr] 129 | self.handle_activities( [INFO] [stderr] | ^^^^ mutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 132 | song: scheduled_song.song.clone(), [INFO] [stderr] | ------------------- immutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_standard_failure_response` [INFO] [stderr] --> src/responses.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn get_standard_failure_response() -> StandardResponse { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/song.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | fs::remove_file(json_path); [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/db.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | diesel::insert_into(songs::table).values(song).execute(conn); [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/db.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | / diesel::update(songs::table.filter(id.eq(song_id))) [INFO] [stderr] 177 | | .set(nsfw.eq(is_nsfw)) [INFO] [stderr] 178 | | .execute(conn); [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/db.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | diesel::delete(songs::table.filter(id.eq(song_id))).execute(conn); [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/db.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | std::fs::remove_file(&song.path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `IO` should have a snake case name [INFO] [stderr] --> src/song_queue.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | pub IO: Addr, [INFO] [stderr] | ^^ help: convert the identifier to snake case (notice the capitalization): `io` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 54 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3m 56s [INFO] running `"docker" "inspect" "e622046670a231239355f325d7b2089cf703fc95737faf13fb4264b5eaa7fea3"` [INFO] running `"docker" "rm" "-f" "e622046670a231239355f325d7b2089cf703fc95737faf13fb4264b5eaa7fea3"` [INFO] [stdout] e622046670a231239355f325d7b2089cf703fc95737faf13fb4264b5eaa7fea3 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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=warn" "-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" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 9f0dfab970e14921848d72ab582c36d0e85a2ef367338a95e82153cd2a6785f6 [INFO] running `"docker" "start" "-a" "9f0dfab970e14921848d72ab582c36d0e85a2ef367338a95e82153cd2a6785f6"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling home-fm-server v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `GetRandomSong` [INFO] [stderr] --> src/song.rs:1:42 [INFO] [stderr] | [INFO] [stderr] 1 | use super::db::{DeleteSong, GetAllSongs, GetRandomSong, ToggleSongNsfw}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error as AWError` [INFO] [stderr] --> src/song.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use actix_web::{AsyncResponder, Error as AWError, FutureResponse, HttpResponse, Path, State}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> src/song.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::song_queue::SongQueue` [INFO] [stderr] --> src/client_publisher.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::song_queue::SongQueue; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error as AWError` [INFO] [stderr] --> src/config.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use actix_web::{AsyncResponder, Error as AWError, FutureResponse, HttpResponse, Json, State}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Song` [INFO] [stderr] --> src/io.rs:1:34 [INFO] [stderr] | [INFO] [stderr] 1 | use super::song::{download_song, Song}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `StaticFileConfig`, `StaticFiles` [INFO] [stderr] --> src/system.rs:10:32 [INFO] [stderr] | [INFO] [stderr] 10 | use actix_web::fs::{NamedFile, StaticFileConfig, StaticFiles}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/system.rs:98:18 [INFO] [stderr] | [INFO] [stderr] 98 | .start();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::future::Future` [INFO] [stderr] --> src/web_socket.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::Future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Future` [INFO] [stderr] --> src/song_queue.rs:14:37 [INFO] [stderr] | [INFO] [stderr] 14 | use futures::future::{ok as fut_ok, Future}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/web_socket.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | _ => (), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/main.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | let system = System::new(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_system` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `song_name` [INFO] [stderr] --> src/song.rs:125:35 [INFO] [stderr] | [INFO] [stderr] 125 | fn get_song_info(song_path: &str, song_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_song_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:20:35 [INFO] [stderr] | [INFO] [stderr] 20 | fn service_started(&mut self, ctx: &mut Context) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:44:41 [INFO] [stderr] | [INFO] [stderr] 44 | fn handle(&mut self, msg: DeleteWS, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:64:43 [INFO] [stderr] | [INFO] [stderr] 64 | fn handle(&mut self, msg: RegisterWS, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:76:47 [INFO] [stderr] | [INFO] [stderr] 76 | fn handle(&mut self, msg: UserMessage, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/db.rs:50:26 [INFO] [stderr] | [INFO] [stderr] 50 | fn handle(&mut self, msg: GetRandomSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:50:46 [INFO] [stderr] | [INFO] [stderr] 50 | fn handle(&mut self, msg: GetRandomSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:68:51 [INFO] [stderr] | [INFO] [stderr] 68 | fn handle(&mut self, msg: CheckSongExistence, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:85:41 [INFO] [stderr] | [INFO] [stderr] 85 | fn handle(&mut self, msg: SaveSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/db.rs:99:26 [INFO] [stderr] | [INFO] [stderr] 99 | fn handle(&mut self, msg: GetAllSongs, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:99:44 [INFO] [stderr] | [INFO] [stderr] 99 | fn handle(&mut self, msg: GetAllSongs, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:117:47 [INFO] [stderr] | [INFO] [stderr] 117 | fn handle(&mut self, msg: ToggleSongNsfw, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:134:43 [INFO] [stderr] | [INFO] [stderr] 134 | fn handle(&mut self, msg: DeleteSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/io.rs:29:38 [INFO] [stderr] | [INFO] [stderr] 29 | fn handle(&mut self, msg: IOJob, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:59:27 [INFO] [stderr] | [INFO] [stderr] 59 | fn started(&mut self, ctx: &mut Self::Context) {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:113:45 [INFO] [stderr] | [INFO] [stderr] 113 | fn handle(&mut self, msg: SetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/radio.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | fn handle(&mut self, msg: GetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:127:45 [INFO] [stderr] | [INFO] [stderr] 127 | fn handle(&mut self, msg: GetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/song_queue.rs:152:31 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:152:34 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:152:37 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:192:37 [INFO] [stderr] | [INFO] [stderr] 192 | .and_then(|song, actor, ctx| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | .and_then(|song, actor, ctx| (fut_ok(song.unwrap()).into_actor(actor))) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | ctx: &mut ActorContext, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:217:56 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:217:59 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `actor` [INFO] [stderr] --> src/song_queue.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_actor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:217:36 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:219:26 [INFO] [stderr] | [INFO] [stderr] 219 | .map_err(|e, a, c| println!("db crashed - {:#?}", e)), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | .map_err(|e, a, c| println!("db crashed - {:#?}", e)), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/song_queue.rs:227:26 [INFO] [stderr] | [INFO] [stderr] 227 | fn handle(&mut self, msg: radio::NextSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/song_queue.rs:244:26 [INFO] [stderr] | [INFO] [stderr] 244 | fn handle(&mut self, msg: BroadcastState, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:244:47 [INFO] [stderr] | [INFO] [stderr] 244 | fn handle(&mut self, msg: BroadcastState, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/system.rs:52:37 [INFO] [stderr] | [INFO] [stderr] 52 | let radio = Arbiter::start(|ctx| Radio::new()); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/song_queue.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(scheduled_song) = self.songs_queue.first() { [INFO] [stderr] | ---------------- immutable borrow occurs here [INFO] [stderr] 129 | self.handle_activities( [INFO] [stderr] | ^^^^ mutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 132 | song: scheduled_song.song.clone(), [INFO] [stderr] | ------------------- immutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_standard_failure_response` [INFO] [stderr] --> src/responses.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn get_standard_failure_response() -> StandardResponse { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/song.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | fs::remove_file(json_path); [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/db.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | diesel::insert_into(songs::table).values(song).execute(conn); [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/db.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | / diesel::update(songs::table.filter(id.eq(song_id))) [INFO] [stderr] 177 | | .set(nsfw.eq(is_nsfw)) [INFO] [stderr] 178 | | .execute(conn); [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/db.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | diesel::delete(songs::table.filter(id.eq(song_id))).execute(conn); [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/db.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | std::fs::remove_file(&song.path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `IO` should have a snake case name [INFO] [stderr] --> src/song_queue.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | pub IO: Addr, [INFO] [stderr] | ^^ help: convert the identifier to snake case (notice the capitalization): `io` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 54 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.86s [INFO] running `"docker" "inspect" "9f0dfab970e14921848d72ab582c36d0e85a2ef367338a95e82153cd2a6785f6"` [INFO] running `"docker" "rm" "-f" "9f0dfab970e14921848d72ab582c36d0e85a2ef367338a95e82153cd2a6785f6"` [INFO] [stdout] 9f0dfab970e14921848d72ab582c36d0e85a2ef367338a95e82153cd2a6785f6 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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=warn" "-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" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a5ce609d763d507c5c4288065a4f012b0ba3a580b94470fe37bece7c355d204e [INFO] running `"docker" "start" "-a" "a5ce609d763d507c5c4288065a4f012b0ba3a580b94470fe37bece7c355d204e"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused import: `GetRandomSong` [INFO] [stderr] --> src/song.rs:1:42 [INFO] [stderr] | [INFO] [stderr] 1 | use super::db::{DeleteSong, GetAllSongs, GetRandomSong, ToggleSongNsfw}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error as AWError` [INFO] [stderr] --> src/song.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use actix_web::{AsyncResponder, Error as AWError, FutureResponse, HttpResponse, Path, State}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> src/song.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::song_queue::SongQueue` [INFO] [stderr] --> src/client_publisher.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::song_queue::SongQueue; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error as AWError` [INFO] [stderr] --> src/config.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use actix_web::{AsyncResponder, Error as AWError, FutureResponse, HttpResponse, Json, State}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Song` [INFO] [stderr] --> src/io.rs:1:34 [INFO] [stderr] | [INFO] [stderr] 1 | use super::song::{download_song, Song}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `StaticFileConfig`, `StaticFiles` [INFO] [stderr] --> src/system.rs:10:32 [INFO] [stderr] | [INFO] [stderr] 10 | use actix_web::fs::{NamedFile, StaticFileConfig, StaticFiles}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/system.rs:98:18 [INFO] [stderr] | [INFO] [stderr] 98 | .start();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::future::Future` [INFO] [stderr] --> src/web_socket.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::future::Future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Future` [INFO] [stderr] --> src/song_queue.rs:14:37 [INFO] [stderr] | [INFO] [stderr] 14 | use futures::future::{ok as fut_ok, Future}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/web_socket.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | _ => (), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `system` [INFO] [stderr] --> src/main.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | let system = System::new(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_system` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `song_name` [INFO] [stderr] --> src/song.rs:125:35 [INFO] [stderr] | [INFO] [stderr] 125 | fn get_song_info(song_path: &str, song_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_song_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:20:35 [INFO] [stderr] | [INFO] [stderr] 20 | fn service_started(&mut self, ctx: &mut Context) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:44:41 [INFO] [stderr] | [INFO] [stderr] 44 | fn handle(&mut self, msg: DeleteWS, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:64:43 [INFO] [stderr] | [INFO] [stderr] 64 | fn handle(&mut self, msg: RegisterWS, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/client_publisher.rs:76:47 [INFO] [stderr] | [INFO] [stderr] 76 | fn handle(&mut self, msg: UserMessage, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/db.rs:50:26 [INFO] [stderr] | [INFO] [stderr] 50 | fn handle(&mut self, msg: GetRandomSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:50:46 [INFO] [stderr] | [INFO] [stderr] 50 | fn handle(&mut self, msg: GetRandomSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:68:51 [INFO] [stderr] | [INFO] [stderr] 68 | fn handle(&mut self, msg: CheckSongExistence, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:85:41 [INFO] [stderr] | [INFO] [stderr] 85 | fn handle(&mut self, msg: SaveSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/db.rs:99:26 [INFO] [stderr] | [INFO] [stderr] 99 | fn handle(&mut self, msg: GetAllSongs, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:99:44 [INFO] [stderr] | [INFO] [stderr] 99 | fn handle(&mut self, msg: GetAllSongs, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:117:47 [INFO] [stderr] | [INFO] [stderr] 117 | fn handle(&mut self, msg: ToggleSongNsfw, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/db.rs:134:43 [INFO] [stderr] | [INFO] [stderr] 134 | fn handle(&mut self, msg: DeleteSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/io.rs:29:38 [INFO] [stderr] | [INFO] [stderr] 29 | fn handle(&mut self, msg: IOJob, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:59:27 [INFO] [stderr] | [INFO] [stderr] 59 | fn started(&mut self, ctx: &mut Self::Context) {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:113:45 [INFO] [stderr] | [INFO] [stderr] 113 | fn handle(&mut self, msg: SetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/radio.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | fn handle(&mut self, msg: GetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/radio.rs:127:45 [INFO] [stderr] | [INFO] [stderr] 127 | fn handle(&mut self, msg: GetFrequency, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/song_queue.rs:152:31 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:152:34 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:152:37 [INFO] [stderr] | [INFO] [stderr] 152 | .map_err(|e, a, c| println!("something went wrong")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:192:37 [INFO] [stderr] | [INFO] [stderr] 192 | .and_then(|song, actor, ctx| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | .and_then(|song, actor, ctx| (fut_ok(song.unwrap()).into_actor(actor))) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | ctx: &mut ActorContext, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:217:56 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:217:59 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `actor` [INFO] [stderr] --> src/song_queue.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_actor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:217:36 [INFO] [stderr] | [INFO] [stderr] 217 | .and_then(|res, actor, ctx| res.map(|song, a, c| song)) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/song_queue.rs:219:26 [INFO] [stderr] | [INFO] [stderr] 219 | .map_err(|e, a, c| println!("db crashed - {:#?}", e)), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/song_queue.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | .map_err(|e, a, c| println!("db crashed - {:#?}", e)), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/song_queue.rs:227:26 [INFO] [stderr] | [INFO] [stderr] 227 | fn handle(&mut self, msg: radio::NextSong, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/song_queue.rs:244:26 [INFO] [stderr] | [INFO] [stderr] 244 | fn handle(&mut self, msg: BroadcastState, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/song_queue.rs:244:47 [INFO] [stderr] | [INFO] [stderr] 244 | fn handle(&mut self, msg: BroadcastState, ctx: &mut Self::Context) -> Self::Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/system.rs:52:37 [INFO] [stderr] | [INFO] [stderr] 52 | let radio = Arbiter::start(|ctx| Radio::new()); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/song_queue.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(scheduled_song) = self.songs_queue.first() { [INFO] [stderr] | ---------------- immutable borrow occurs here [INFO] [stderr] 129 | self.handle_activities( [INFO] [stderr] | ^^^^ mutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 132 | song: scheduled_song.song.clone(), [INFO] [stderr] | ------------------- immutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_standard_failure_response` [INFO] [stderr] --> src/responses.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn get_standard_failure_response() -> StandardResponse { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/song.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | fs::remove_file(json_path); [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/db.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | diesel::insert_into(songs::table).values(song).execute(conn); [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/db.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | / diesel::update(songs::table.filter(id.eq(song_id))) [INFO] [stderr] 177 | | .set(nsfw.eq(is_nsfw)) [INFO] [stderr] 178 | | .execute(conn); [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/db.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | diesel::delete(songs::table.filter(id.eq(song_id))).execute(conn); [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/db.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | std::fs::remove_file(&song.path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `IO` should have a snake case name [INFO] [stderr] --> src/song_queue.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | pub IO: Addr, [INFO] [stderr] | ^^ help: convert the identifier to snake case (notice the capitalization): `io` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 54 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.36s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/home_fm_server-42fbe5795db74127 [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 [INFO] [stdout] [INFO] running `"docker" "inspect" "a5ce609d763d507c5c4288065a4f012b0ba3a580b94470fe37bece7c355d204e"` [INFO] running `"docker" "rm" "-f" "a5ce609d763d507c5c4288065a4f012b0ba3a580b94470fe37bece7c355d204e"` [INFO] [stdout] a5ce609d763d507c5c4288065a4f012b0ba3a580b94470fe37bece7c355d204e