[INFO] cloning repository https://github.com/betta-cyber/gplayer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/betta-cyber/gplayer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbetta-cyber%2Fgplayer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbetta-cyber%2Fgplayer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ed260ad8172831c53053a59f285cbe5fd988932f [INFO] checking betta-cyber/gplayer against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbetta-cyber%2Fgplayer" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/betta-cyber/gplayer on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/betta-cyber/gplayer [INFO] finished tweaking git repo https://github.com/betta-cyber/gplayer [INFO] tweaked toml for git repo https://github.com/betta-cyber/gplayer written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/betta-cyber/gplayer already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 867f528e5da8d43e980d0716ccf60b2660482895abf95e89306e85078a84fd7f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "867f528e5da8d43e980d0716ccf60b2660482895abf95e89306e85078a84fd7f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "867f528e5da8d43e980d0716ccf60b2660482895abf95e89306e85078a84fd7f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "867f528e5da8d43e980d0716ccf60b2660482895abf95e89306e85078a84fd7f", kill_on_drop: false }` [INFO] [stdout] 867f528e5da8d43e980d0716ccf60b2660482895abf95e89306e85078a84fd7f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 252ad82ef5f8fa2d1c522bfd2469db6b166d89dc5872d03c51a43ec32a05be35 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "252ad82ef5f8fa2d1c522bfd2469db6b166d89dc5872d03c51a43ec32a05be35", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.12 [INFO] [stderr] Compiling cc v1.0.48 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking futures-core v0.3.1 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Checking bytes v0.5.3 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking futures-sink v0.3.1 [INFO] [stderr] Checking pin-utils v0.1.0-alpha.4 [INFO] [stderr] Checking futures-io v0.3.1 [INFO] [stderr] Checking pin-project-lite v0.1.1 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Checking futures-task v0.3.1 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking itoa v0.4.4 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Compiling openssl v0.10.26 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling native-tls v0.2.3 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Checking try-lock v0.2.2 [INFO] [stderr] Checking openssl-probe v0.1.2 [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Compiling cpal v0.10.0 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking mime v0.3.14 [INFO] [stderr] Checking dtoa v0.4.4 [INFO] [stderr] Checking claxon v0.4.2 [INFO] [stderr] Checking hound v3.4.0 [INFO] [stderr] Checking bit-vec v0.5.1 [INFO] [stderr] Checking remove_dir_all v0.5.2 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling indexmap v1.3.0 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking futures-channel v0.3.1 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking http v0.2.0 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Compiling proc-macro2 v1.0.7 [INFO] [stderr] Checking encoding_rs v0.8.22 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Checking bit-set v0.5.1 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Compiling mime_guess v2.0.1 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Compiling alsa-sys v0.1.2 [INFO] [stderr] Checking ogg v0.7.0 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking lewton v0.9.4 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking getrandom v0.1.13 [INFO] [stderr] Checking slice-deque v0.2.4 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Compiling openssl-sys v0.9.53 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Compiling minimp3-sys v0.3.1 [INFO] [stderr] Checking url v2.1.0 [INFO] [stderr] Checking mio v0.6.21 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking num-integer v0.1.41 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking chrono v0.4.10 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking regex v1.3.1 [INFO] [stderr] Checking minimp3 v0.3.3 [INFO] [stderr] Checking backtrace v0.3.40 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking env_logger v0.6.2 [INFO] [stderr] Checking pretty_env_logger v0.3.1 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Compiling derefable v0.1.0 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Compiling proc-macro-hack v0.5.11 [INFO] [stderr] Compiling tokio-macros v0.2.1 [INFO] [stderr] Compiling failure_derive v0.1.6 [INFO] [stderr] Compiling pin-project-internal v0.4.6 [INFO] [stderr] Checking tokio v0.2.6 [INFO] [stderr] Checking failure v0.1.6 [INFO] [stderr] Compiling futures-macro v0.3.1 [INFO] [stderr] Checking rodio v0.10.0 [INFO] [stderr] Checking pin-project v0.4.6 [INFO] [stderr] Checking futures-util v0.3.1 [INFO] [stderr] Checking tokio-util v0.2.0 [INFO] [stderr] Checking tokio-tls v0.3.0 [INFO] [stderr] Checking futures-executor v0.3.1 [INFO] [stderr] Checking h2 v0.2.1 [INFO] [stderr] Checking futures v0.3.1 [INFO] [stderr] Checking tokio-socks v0.2.0 [INFO] [stderr] Checking hyper v0.13.1 [INFO] [stderr] Checking hyper-tls v0.4.0 [INFO] [stderr] Checking reqwest v0.10.1 [INFO] [stderr] Checking gplayer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Future`, `future` [INFO] [stdout] --> src/player.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use futures::{future, Future}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::channel::mpsc` [INFO] [stdout] --> src/player.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::channel::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/player.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::Proxy` [INFO] [stdout] --> src/fetch.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use reqwest::Proxy; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `WriteBytesExt` [INFO] [stdout] --> src/fetch_data.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use byteorder::{BigEndian, ByteOrder, WriteBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::Stream` [INFO] [stdout] --> src/fetch_data.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use futures::Stream; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Future`, `task::Poll` [INFO] [stdout] --> src/fetch_data.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::{Future, task::Poll}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max`, `min` [INFO] [stdout] --> src/fetch_data.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/fetch_data.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{self, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decoder`, `Error`, `Frame` [INFO] [stdout] --> src/main.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | use minimp3::{Decoder, Frame, Error}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rodio::Sink` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use rodio::Sink; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rodio::buffer::SamplesBuffer` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use rodio::buffer::SamplesBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Future`, `future` [INFO] [stdout] --> src/player.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use futures::{future, Future}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::channel::mpsc` [INFO] [stdout] --> src/player.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::channel::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/player.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::Proxy` [INFO] [stdout] --> src/fetch.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use reqwest::Proxy; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `WriteBytesExt` [INFO] [stdout] --> src/fetch_data.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use byteorder::{BigEndian, ByteOrder, WriteBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::Stream` [INFO] [stdout] --> src/fetch_data.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use futures::Stream; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Future`, `task::Poll` [INFO] [stdout] --> src/fetch_data.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::{Future, task::Poll}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max`, `min` [INFO] [stdout] --> src/fetch_data.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/fetch_data.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{self, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decoder`, `Error`, `Frame` [INFO] [stdout] --> src/main.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | use minimp3::{Decoder, Frame, Error}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rodio::Sink` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use rodio::Sink; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rodio::buffer::SamplesBuffer` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use rodio::buffer::SamplesBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/fetch_data.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{self, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx` [INFO] [stdout] --> src/player.rs:123:18 [INFO] [stdout] | [INFO] [stdout] 123 | let (tx, rx) = oneshot::channel::(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/fetch.rs:12:59 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn fetch_data(url: &str, buffer: NamedTempFile, tx: Sender) -> Result<(), Box> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_data_length` [INFO] [stdout] --> src/fetch_data.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | let initial_data_length = self.initial_data_length.take().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_data_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `complete_tx` [INFO] [stdout] --> src/fetch_data.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | let complete_tx = self.complete_tx.take().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complete_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream_loader_command_rx` [INFO] [stdout] --> src/fetch_data.rs:275:40 [INFO] [stdout] | [INFO] [stdout] 275 | let (stream_loader_command_tx, stream_loader_command_rx) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream_loader_command_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_data_receiver` [INFO] [stdout] --> src/fetch_data.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | let initial_data_receiver = AudioFileFetchDataReceiver::new( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_data_receiver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/player.rs:200:21 [INFO] [stdout] | [INFO] [stdout] 200 | let mut buffer = NamedTempFile::new().unwrap(); [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: variant is never constructed: `Stop` [INFO] [stdout] --> src/player.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Paused` [INFO] [stdout] --> src/player.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | / Paused { [INFO] [stdout] 26 | | start_of_track: oneshot::Sender, [INFO] [stdout] 27 | | end_of_track: oneshot::Sender<()>, [INFO] [stdout] 28 | | normalisation_factor: f32, [INFO] [stdout] 29 | | // stream_loader_controller: StreamLoaderController, [INFO] [stdout] 30 | | bytes_per_second: usize, [INFO] [stdout] 31 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Playing` [INFO] [stdout] --> src/player.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | / Playing { [INFO] [stdout] 33 | | start_of_track: oneshot::Sender, [INFO] [stdout] 34 | | end_of_track: oneshot::Sender<()>, [INFO] [stdout] 35 | | normalisation_factor: f32, [INFO] [stdout] 36 | | // stream_loader_controller: StreamLoaderController, [INFO] [stdout] 37 | | bytes_per_second: usize, [INFO] [stdout] 38 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EndOfTrack` [INFO] [stdout] --> src/player.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / EndOfTrack { [INFO] [stdout] 40 | | url: String, [INFO] [stdout] 41 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Invalid` [INFO] [stdout] --> src/player.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | Invalid, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `event_sender` [INFO] [stdout] --> src/player.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | event_sender: futures::channel::mpsc::UnboundedSender, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Started` [INFO] [stdout] --> src/player.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | / Started { [INFO] [stdout] 62 | | track_url: String, [INFO] [stdout] 63 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Changed` [INFO] [stdout] --> src/player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | / Changed { [INFO] [stdout] 66 | | old_track_url: String, [INFO] [stdout] 67 | | new_track_url: String, [INFO] [stdout] 68 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stopped` [INFO] [stdout] --> src/player.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | / Stopped { [INFO] [stdout] 71 | | track_url: String, [INFO] [stdout] 72 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `stop` [INFO] [stdout] --> src/player.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `start_sink` [INFO] [stdout] --> src/player.rs:228:8 [INFO] [stdout] | [INFO] [stdout] 228 | fn start_sink(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `send_event` [INFO] [stdout] --> src/player.rs:235:8 [INFO] [stdout] | [INFO] [stdout] 235 | fn send_event(&mut self, event: PlayerEvent) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `send_msg` [INFO] [stdout] --> src/fetch.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn send_msg(path: &str, tx: Sender) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/range_set.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(start: usize, length: usize) -> Range { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/range_set.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new() -> RangeSet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_empty` [INFO] [stdout] --> src/range_set.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `len` [INFO] [stdout] --> src/range_set.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_range` [INFO] [stdout] --> src/range_set.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn get_range(&self, index: usize) -> Range { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iter` [INFO] [stdout] --> src/range_set.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `contains` [INFO] [stdout] --> src/range_set.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn contains(&self, value: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `subtract_range` [INFO] [stdout] --> src/range_set.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn subtract_range(&mut self, range: &Range) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `subtract_range_set` [INFO] [stdout] --> src/range_set.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn subtract_range_set(&mut self, other: &RangeSet) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `minus` [INFO] [stdout] --> src/range_set.rs:205:12 [INFO] [stdout] | [INFO] [stdout] 205 | pub fn minus(&self, other: &RangeSet) -> RangeSet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `intersection` [INFO] [stdout] --> src/range_set.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn intersection(&self, other: &RangeSet) -> RangeSet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MINIMUM_DOWNLOAD_SIZE` [INFO] [stdout] --> src/fetch_data.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | const MINIMUM_DOWNLOAD_SIZE: usize = 1024 * 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `INITIAL_DOWNLOAD_SIZE` [INFO] [stdout] --> src/fetch_data.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | const INITIAL_DOWNLOAD_SIZE: usize = 1024 * 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `INITIAL_PING_TIME_ESTIMATE_SECONDS` [INFO] [stdout] --> src/fetch_data.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | const INITIAL_PING_TIME_ESTIMATE_SECONDS: f64 = 0.5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAXIMUM_ASSUMED_PING_TIME_SECONDS` [INFO] [stdout] --> src/fetch_data.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | const MAXIMUM_ASSUMED_PING_TIME_SECONDS: f64 = 1.5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `READ_AHEAD_BEFORE_PLAYBACK_SECONDS` [INFO] [stdout] --> src/fetch_data.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub const READ_AHEAD_BEFORE_PLAYBACK_SECONDS: f64 = 1.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `READ_AHEAD_BEFORE_PLAYBACK_ROUNDTRIPS` [INFO] [stdout] --> src/fetch_data.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub const READ_AHEAD_BEFORE_PLAYBACK_ROUNDTRIPS: f64 = 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `READ_AHEAD_DURING_PLAYBACK_SECONDS` [INFO] [stdout] --> src/fetch_data.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | pub const READ_AHEAD_DURING_PLAYBACK_SECONDS: f64 = 5.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `READ_AHEAD_DURING_PLAYBACK_ROUNDTRIPS` [INFO] [stdout] --> src/fetch_data.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | pub const READ_AHEAD_DURING_PLAYBACK_ROUNDTRIPS: f64 = 10.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `PREFETCH_THRESHOLD_FACTOR` [INFO] [stdout] --> src/fetch_data.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | const PREFETCH_THRESHOLD_FACTOR: f64 = 4.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FAST_PREFETCH_THRESHOLD_FACTOR` [INFO] [stdout] --> src/fetch_data.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | const FAST_PREFETCH_THRESHOLD_FACTOR: f64 = 1.5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_PREFETCH_REQUESTS` [INFO] [stdout] --> src/fetch_data.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | const MAX_PREFETCH_REQUESTS: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `AudioFile` [INFO] [stdout] --> src/fetch_data.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum AudioFile { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `AudioFileOpen` [INFO] [stdout] --> src/fetch_data.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum AudioFileOpen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `AudioFileOpenStreaming` [INFO] [stdout] --> src/fetch_data.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct AudioFileOpenStreaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `AudioFileStreaming` [INFO] [stdout] --> src/fetch_data.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct AudioFileStreaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Fetch` [INFO] [stdout] --> src/fetch_data.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | Fetch(Range), // signal the stream loader to fetch a range of the file [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RandomAccessMode` [INFO] [stdout] --> src/fetch_data.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | RandomAccessMode(), // optimise download strategy for random access [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `StreamMode` [INFO] [stdout] --> src/fetch_data.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | StreamMode(), // optimise download strategy for streaming [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Close` [INFO] [stdout] --> src/fetch_data.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | Close(), // terminate and don't load any more data [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `requested` [INFO] [stdout] --> src/fetch_data.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | requested: RangeSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `downloaded` [INFO] [stdout] --> src/fetch_data.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | downloaded: RangeSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RandomAccess` [INFO] [stdout] --> src/fetch_data.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | RandomAccess(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Streaming` [INFO] [stdout] --> src/fetch_data.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | Streaming(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `PartialFileData` [INFO] [stdout] --> src/fetch_data.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | struct PartialFileData { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `ReceivedData` [INFO] [stdout] --> src/fetch_data.rs:84:6 [INFO] [stdout] | [INFO] [stdout] 84 | enum ReceivedData { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `AudioFileFetchDataReceiver` [INFO] [stdout] --> src/fetch_data.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | struct AudioFileFetchDataReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `file_size` [INFO] [stdout] --> src/fetch_data.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | file_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stream_data_rate` [INFO] [stdout] --> src/fetch_data.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | stream_data_rate: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `cond` [INFO] [stdout] --> src/fetch_data.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | cond: Condvar, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `download_status` [INFO] [stdout] --> src/fetch_data.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | download_status: Mutex, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `download_strategy` [INFO] [stdout] --> src/fetch_data.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | download_strategy: Mutex, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `number_of_open_requests` [INFO] [stdout] --> src/fetch_data.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | number_of_open_requests: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ping_time_ms` [INFO] [stdout] --> src/fetch_data.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | ping_time_ms: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `read_position` [INFO] [stdout] --> src/fetch_data.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | read_position: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `len` [INFO] [stdout] --> src/fetch_data.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `range_available` [INFO] [stdout] --> src/fetch_data.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn range_available(&self, range: Range) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ping_time_ms` [INFO] [stdout] --> src/fetch_data.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn ping_time_ms(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `send_stream_loader_command` [INFO] [stdout] --> src/fetch_data.rs:154:8 [INFO] [stdout] | [INFO] [stdout] 154 | fn send_stream_loader_command(&mut self, command: StreamLoaderCommand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch` [INFO] [stdout] --> src/fetch_data.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn fetch(&mut self, range: Range) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch_blocking` [INFO] [stdout] --> src/fetch_data.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn fetch_blocking(&mut self, mut range: Range) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch_next` [INFO] [stdout] --> src/fetch_data.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn fetch_next(&mut self, length: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch_next_blocking` [INFO] [stdout] --> src/fetch_data.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn fetch_next_blocking(&mut self, length: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_random_access_mode` [INFO] [stdout] --> src/fetch_data.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | pub fn set_random_access_mode(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_stream_mode` [INFO] [stdout] --> src/fetch_data.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | pub fn set_stream_mode(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `close` [INFO] [stdout] --> src/fetch_data.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn close(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `finish` [INFO] [stdout] --> src/fetch_data.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | fn finish(&mut self, size: usize) -> AudioFileStreaming { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `AudioFileFetch` [INFO] [stdout] --> src/fetch_data.rs:303:8 [INFO] [stdout] | [INFO] [stdout] 303 | struct AudioFileFetch { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/fetch_data.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_download_strategy` [INFO] [stdout] --> src/fetch_data.rs:361:8 [INFO] [stdout] | [INFO] [stdout] 361 | fn get_download_strategy(&mut self) -> DownloadStrategy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `download_range` [INFO] [stdout] --> src/fetch_data.rs:365:8 [INFO] [stdout] | [INFO] [stdout] 365 | fn download_range(&mut self, mut offset: usize, mut length: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/fetch_data.rs:421:8 [INFO] [stdout] | [INFO] [stdout] 421 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `finish` [INFO] [stdout] --> src/fetch_data.rs:450:8 [INFO] [stdout] | [INFO] [stdout] 450 | fn finish(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/fetch_data.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{self, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx` [INFO] [stdout] --> src/player.rs:123:18 [INFO] [stdout] | [INFO] [stdout] 123 | let (tx, rx) = oneshot::channel::(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/fetch.rs:12:59 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn fetch_data(url: &str, buffer: NamedTempFile, tx: Sender) -> Result<(), Box> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_data_length` [INFO] [stdout] --> src/fetch_data.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | let initial_data_length = self.initial_data_length.take().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_data_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `complete_tx` [INFO] [stdout] --> src/fetch_data.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | let complete_tx = self.complete_tx.take().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_complete_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream_loader_command_rx` [INFO] [stdout] --> src/fetch_data.rs:275:40 [INFO] [stdout] | [INFO] [stdout] 275 | let (stream_loader_command_tx, stream_loader_command_rx) = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream_loader_command_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_data_receiver` [INFO] [stdout] --> src/fetch_data.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | let initial_data_receiver = AudioFileFetchDataReceiver::new( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_data_receiver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/player.rs:200:21 [INFO] [stdout] | [INFO] [stdout] 200 | let mut buffer = NamedTempFile::new().unwrap(); [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: variant is never constructed: `Stop` [INFO] [stdout] --> src/player.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Paused` [INFO] [stdout] --> src/player.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | / Paused { [INFO] [stdout] 26 | | start_of_track: oneshot::Sender, [INFO] [stdout] 27 | | end_of_track: oneshot::Sender<()>, [INFO] [stdout] 28 | | normalisation_factor: f32, [INFO] [stdout] 29 | | // stream_loader_controller: StreamLoaderController, [INFO] [stdout] 30 | | bytes_per_second: usize, [INFO] [stdout] 31 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Playing` [INFO] [stdout] --> src/player.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | / Playing { [INFO] [stdout] 33 | | start_of_track: oneshot::Sender, [INFO] [stdout] 34 | | end_of_track: oneshot::Sender<()>, [INFO] [stdout] 35 | | normalisation_factor: f32, [INFO] [stdout] 36 | | // stream_loader_controller: StreamLoaderController, [INFO] [stdout] 37 | | bytes_per_second: usize, [INFO] [stdout] 38 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EndOfTrack` [INFO] [stdout] --> src/player.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / EndOfTrack { [INFO] [stdout] 40 | | url: String, [INFO] [stdout] 41 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Invalid` [INFO] [stdout] --> src/player.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | Invalid, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `event_sender` [INFO] [stdout] --> src/player.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | event_sender: futures::channel::mpsc::UnboundedSender, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Started` [INFO] [stdout] --> src/player.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | / Started { [INFO] [stdout] 62 | | track_url: String, [INFO] [stdout] 63 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Changed` [INFO] [stdout] --> src/player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | / Changed { [INFO] [stdout] 66 | | old_track_url: String, [INFO] [stdout] 67 | | new_track_url: String, [INFO] [stdout] 68 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stopped` [INFO] [stdout] --> src/player.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | / Stopped { [INFO] [stdout] 71 | | track_url: String, [INFO] [stdout] 72 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `stop` [INFO] [stdout] --> src/player.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `start_sink` [INFO] [stdout] --> src/player.rs:228:8 [INFO] [stdout] | [INFO] [stdout] 228 | fn start_sink(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `send_event` [INFO] [stdout] --> src/player.rs:235:8 [INFO] [stdout] | [INFO] [stdout] 235 | fn send_event(&mut self, event: PlayerEvent) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `send_msg` [INFO] [stdout] --> src/fetch.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn send_msg(path: &str, tx: Sender) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/range_set.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(start: usize, length: usize) -> Range { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/range_set.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new() -> RangeSet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_empty` [INFO] [stdout] --> src/range_set.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `len` [INFO] [stdout] --> src/range_set.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_range` [INFO] [stdout] --> src/range_set.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn get_range(&self, index: usize) -> Range { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iter` [INFO] [stdout] --> src/range_set.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `contains` [INFO] [stdout] --> src/range_set.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn contains(&self, value: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `subtract_range` [INFO] [stdout] --> src/range_set.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn subtract_range(&mut self, range: &Range) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `subtract_range_set` [INFO] [stdout] --> src/range_set.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn subtract_range_set(&mut self, other: &RangeSet) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `minus` [INFO] [stdout] --> src/range_set.rs:205:12 [INFO] [stdout] | [INFO] [stdout] 205 | pub fn minus(&self, other: &RangeSet) -> RangeSet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `intersection` [INFO] [stdout] --> src/range_set.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn intersection(&self, other: &RangeSet) -> RangeSet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MINIMUM_DOWNLOAD_SIZE` [INFO] [stdout] --> src/fetch_data.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | const MINIMUM_DOWNLOAD_SIZE: usize = 1024 * 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `INITIAL_DOWNLOAD_SIZE` [INFO] [stdout] --> src/fetch_data.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | const INITIAL_DOWNLOAD_SIZE: usize = 1024 * 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `INITIAL_PING_TIME_ESTIMATE_SECONDS` [INFO] [stdout] --> src/fetch_data.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | const INITIAL_PING_TIME_ESTIMATE_SECONDS: f64 = 0.5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAXIMUM_ASSUMED_PING_TIME_SECONDS` [INFO] [stdout] --> src/fetch_data.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | const MAXIMUM_ASSUMED_PING_TIME_SECONDS: f64 = 1.5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `READ_AHEAD_BEFORE_PLAYBACK_SECONDS` [INFO] [stdout] --> src/fetch_data.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub const READ_AHEAD_BEFORE_PLAYBACK_SECONDS: f64 = 1.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `READ_AHEAD_BEFORE_PLAYBACK_ROUNDTRIPS` [INFO] [stdout] --> src/fetch_data.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub const READ_AHEAD_BEFORE_PLAYBACK_ROUNDTRIPS: f64 = 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `READ_AHEAD_DURING_PLAYBACK_SECONDS` [INFO] [stdout] --> src/fetch_data.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | pub const READ_AHEAD_DURING_PLAYBACK_SECONDS: f64 = 5.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `READ_AHEAD_DURING_PLAYBACK_ROUNDTRIPS` [INFO] [stdout] --> src/fetch_data.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | pub const READ_AHEAD_DURING_PLAYBACK_ROUNDTRIPS: f64 = 10.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `PREFETCH_THRESHOLD_FACTOR` [INFO] [stdout] --> src/fetch_data.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | const PREFETCH_THRESHOLD_FACTOR: f64 = 4.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `FAST_PREFETCH_THRESHOLD_FACTOR` [INFO] [stdout] --> src/fetch_data.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | const FAST_PREFETCH_THRESHOLD_FACTOR: f64 = 1.5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_PREFETCH_REQUESTS` [INFO] [stdout] --> src/fetch_data.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | const MAX_PREFETCH_REQUESTS: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `AudioFile` [INFO] [stdout] --> src/fetch_data.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum AudioFile { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `AudioFileOpen` [INFO] [stdout] --> src/fetch_data.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum AudioFileOpen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `AudioFileOpenStreaming` [INFO] [stdout] --> src/fetch_data.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct AudioFileOpenStreaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `AudioFileStreaming` [INFO] [stdout] --> src/fetch_data.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct AudioFileStreaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Fetch` [INFO] [stdout] --> src/fetch_data.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | Fetch(Range), // signal the stream loader to fetch a range of the file [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RandomAccessMode` [INFO] [stdout] --> src/fetch_data.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | RandomAccessMode(), // optimise download strategy for random access [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `StreamMode` [INFO] [stdout] --> src/fetch_data.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | StreamMode(), // optimise download strategy for streaming [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Close` [INFO] [stdout] --> src/fetch_data.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | Close(), // terminate and don't load any more data [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `requested` [INFO] [stdout] --> src/fetch_data.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | requested: RangeSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `downloaded` [INFO] [stdout] --> src/fetch_data.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | downloaded: RangeSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RandomAccess` [INFO] [stdout] --> src/fetch_data.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | RandomAccess(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Streaming` [INFO] [stdout] --> src/fetch_data.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | Streaming(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `PartialFileData` [INFO] [stdout] --> src/fetch_data.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | struct PartialFileData { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `ReceivedData` [INFO] [stdout] --> src/fetch_data.rs:84:6 [INFO] [stdout] | [INFO] [stdout] 84 | enum ReceivedData { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `AudioFileFetchDataReceiver` [INFO] [stdout] --> src/fetch_data.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | struct AudioFileFetchDataReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `file_size` [INFO] [stdout] --> src/fetch_data.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | file_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stream_data_rate` [INFO] [stdout] --> src/fetch_data.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | stream_data_rate: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `cond` [INFO] [stdout] --> src/fetch_data.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | cond: Condvar, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `download_status` [INFO] [stdout] --> src/fetch_data.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | download_status: Mutex, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `download_strategy` [INFO] [stdout] --> src/fetch_data.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | download_strategy: Mutex, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `number_of_open_requests` [INFO] [stdout] --> src/fetch_data.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | number_of_open_requests: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `ping_time_ms` [INFO] [stdout] --> src/fetch_data.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | ping_time_ms: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `read_position` [INFO] [stdout] --> src/fetch_data.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | read_position: AtomicUsize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `len` [INFO] [stdout] --> src/fetch_data.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `range_available` [INFO] [stdout] --> src/fetch_data.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn range_available(&self, range: Range) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ping_time_ms` [INFO] [stdout] --> src/fetch_data.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn ping_time_ms(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `send_stream_loader_command` [INFO] [stdout] --> src/fetch_data.rs:154:8 [INFO] [stdout] | [INFO] [stdout] 154 | fn send_stream_loader_command(&mut self, command: StreamLoaderCommand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch` [INFO] [stdout] --> src/fetch_data.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn fetch(&mut self, range: Range) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch_blocking` [INFO] [stdout] --> src/fetch_data.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn fetch_blocking(&mut self, mut range: Range) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch_next` [INFO] [stdout] --> src/fetch_data.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn fetch_next(&mut self, length: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch_next_blocking` [INFO] [stdout] --> src/fetch_data.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn fetch_next_blocking(&mut self, length: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_random_access_mode` [INFO] [stdout] --> src/fetch_data.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | pub fn set_random_access_mode(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_stream_mode` [INFO] [stdout] --> src/fetch_data.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | pub fn set_stream_mode(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `close` [INFO] [stdout] --> src/fetch_data.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn close(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `finish` [INFO] [stdout] --> src/fetch_data.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | fn finish(&mut self, size: usize) -> AudioFileStreaming { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `AudioFileFetch` [INFO] [stdout] --> src/fetch_data.rs:303:8 [INFO] [stdout] | [INFO] [stdout] 303 | struct AudioFileFetch { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/fetch_data.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_download_strategy` [INFO] [stdout] --> src/fetch_data.rs:361:8 [INFO] [stdout] | [INFO] [stdout] 361 | fn get_download_strategy(&mut self) -> DownloadStrategy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `download_range` [INFO] [stdout] --> src/fetch_data.rs:365:8 [INFO] [stdout] | [INFO] [stdout] 365 | fn download_range(&mut self, mut offset: usize, mut length: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/fetch_data.rs:421:8 [INFO] [stdout] | [INFO] [stdout] 421 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `finish` [INFO] [stdout] --> src/fetch_data.rs:450:8 [INFO] [stdout] | [INFO] [stdout] 450 | fn finish(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/player.rs:204:21 [INFO] [stdout] | [INFO] [stdout] 204 | fetch_data(&url, buffer, start_tx); [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/player.rs:204:21 [INFO] [stdout] | [INFO] [stdout] 204 | fetch_data(&url, buffer, start_tx); [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/player.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | self.sink.pause(); [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/player.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | self.sink.stop(); [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/player.rs:221:17 [INFO] [stdout] | [INFO] [stdout] 221 | self.sink.start(); [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/player.rs:215:17 [INFO] [stdout] | [INFO] [stdout] 215 | self.sink.pause(); [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/player.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | self.sink.stop(); [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/player.rs:221:17 [INFO] [stdout] | [INFO] [stdout] 221 | self.sink.start(); [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: 102 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 102 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 01s [INFO] running `Command { std: "docker" "inspect" "252ad82ef5f8fa2d1c522bfd2469db6b166d89dc5872d03c51a43ec32a05be35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "252ad82ef5f8fa2d1c522bfd2469db6b166d89dc5872d03c51a43ec32a05be35", kill_on_drop: false }` [INFO] [stdout] 252ad82ef5f8fa2d1c522bfd2469db6b166d89dc5872d03c51a43ec32a05be35