[INFO] cloning repository https://github.com/Tired-Fox/rataify [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tired-Fox/rataify" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTired-Fox%2Frataify", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTired-Fox%2Frataify'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9df52761edeceb7e9aaacff80e9cc8169ab71c13 [INFO] checking Tired-Fox/rataify/9df52761edeceb7e9aaacff80e9cc8169ab71c13 against master#3cdcdaf31b45f8045164aae9604573d23091970b for pr-122267 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTired-Fox%2Frataify" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Tired-Fox/rataify on toolchain 3cdcdaf31b45f8045164aae9604573d23091970b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3cdcdaf31b45f8045164aae9604573d23091970b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Tired-Fox/rataify [INFO] finished tweaking git repo https://github.com/Tired-Fox/rataify [INFO] tweaked toml for git repo https://github.com/Tired-Fox/rataify written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Tired-Fox/rataify already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3cdcdaf31b45f8045164aae9604573d23091970b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_yaml v0.9.32 [INFO] [stderr] Downloaded rspotify-http v0.12.0 [INFO] [stderr] Downloaded open v5.1.1 [INFO] [stderr] Downloaded html-to-string-macro v0.2.5 [INFO] [stderr] Downloaded rspotify-macros v0.12.0 [INFO] [stderr] Downloaded rspotify-model v0.12.0 [INFO] [stderr] Downloaded rspotify v0.12.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+3cdcdaf31b45f8045164aae9604573d23091970b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c554141017ddf842758c3b80ad886a54ef60fda59784cd690b5903c13540500b [INFO] running `Command { std: "docker" "start" "-a" "c554141017ddf842758c3b80ad886a54ef60fda59784cd690b5903c13540500b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c554141017ddf842758c3b80ad886a54ef60fda59784cd690b5903c13540500b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c554141017ddf842758c3b80ad886a54ef60fda59784cd690b5903c13540500b", kill_on_drop: false }` [INFO] [stdout] c554141017ddf842758c3b80ad886a54ef60fda59784cd690b5903c13540500b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+3cdcdaf31b45f8045164aae9604573d23091970b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 33d665429493138ecb0ee265743586a90762ef37917c0e65ffef3d7ea5d26ba0 [INFO] running `Command { std: "docker" "start" "-a" "33d665429493138ecb0ee265743586a90762ef37917c0e65ffef3d7ea5d26ba0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Checking itoa v1.0.10 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Checking bytes v1.5.0 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Checking smallvec v1.13.1 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling ahash v0.8.9 [INFO] [stderr] Compiling cc v1.0.86 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking zerocopy v0.7.32 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking allocator-api2 v0.2.16 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling syn v2.0.50 [INFO] [stderr] Compiling thiserror v1.0.57 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.10 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking socket2 v0.5.6 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.64 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking indexmap v2.2.3 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Compiling openssl-sys v0.9.101 [INFO] [stderr] Checking http v0.2.11 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking either v1.10.0 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Compiling serde_json v1.0.114 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking http v1.0.0 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling rustix v0.38.31 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking http-body v1.0.0 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking encoding_rs v0.8.33 [INFO] [stderr] Checking ipnet v2.9.0 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Checking unicode-width v0.1.11 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling paste v1.0.14 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking tracing-error v0.2.0 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking object v0.32.2 [INFO] [stderr] Checking is-docker v0.2.0 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking owo-colors v3.5.0 [INFO] [stderr] Checking tower-layer v0.3.2 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Checking indenter v0.3.3 [INFO] [stderr] Checking fastrand v2.0.1 [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Checking is-wsl v0.4.0 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking color-spantrace v0.2.1 [INFO] [stderr] Checking pathdiff v0.2.1 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking shell-words v1.1.0 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Checking zeroize v1.7.0 [INFO] [stderr] Compiling async-trait v0.1.77 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Checking anstream v0.6.12 [INFO] [stderr] Checking open v5.1.1 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking uuid v1.7.0 [INFO] [stderr] Checking dotenvy v0.15.7 [INFO] [stderr] Checking base64 v0.22.0 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking castaway v0.2.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking strsim v0.11.0 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Checking clap_lex v0.7.0 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking compact_str v0.7.1 [INFO] [stderr] Checking clap_builder v4.5.1 [INFO] [stderr] Checking webbrowser v0.8.12 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling thiserror-impl v1.0.57 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling pin-project-internal v1.1.4 [INFO] [stderr] Checking tokio v1.36.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking regex-automata v0.4.5 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Checking color-eyre v0.6.2 [INFO] [stderr] Compiling syn-rsx v0.9.0 [INFO] [stderr] Checking pin-project v1.1.4 [INFO] [stderr] Compiling maybe-async v0.2.10 [INFO] [stderr] Compiling html-to-string-macro v0.2.5 [INFO] [stderr] Checking regex v1.10.3 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Compiling enum_dispatch v0.3.12 [INFO] [stderr] Compiling strum_macros v0.26.1 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Checking env_filter v0.1.0 [INFO] [stderr] Compiling stability v0.1.1 [INFO] [stderr] Checking lru v0.12.2 [INFO] [stderr] Checking rspotify-macros v0.12.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking http-body-util v0.1.0 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Compiling indoc v2.0.4 [INFO] [stderr] Checking unsafe-libyaml v0.2.10 [INFO] [stderr] Checking env_logger v0.11.3 [INFO] [stderr] Checking clap v4.5.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking strum v0.26.1 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking tokio-socks v0.5.1 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking h2 v0.3.24 [INFO] [stderr] Checking h2 v0.4.2 [INFO] [stderr] Checking bitflags v2.4.2 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking chrono v0.4.35 [INFO] [stderr] Checking envy v0.4.2 [INFO] [stderr] Checking serde_qs v0.12.0 [INFO] [stderr] Checking serde_path_to_error v0.1.15 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking serde_yaml v0.9.32 [INFO] [stderr] Checking rspotify-model v0.12.0 [INFO] [stderr] Checking ratatui v0.26.1 [INFO] [stderr] Checking tempfile v3.10.0 [INFO] [stderr] Checking terminal_size v0.3.0 [INFO] [stderr] Checking dialoguer v0.11.0 [INFO] [stderr] Checking hyper v1.2.0 [INFO] [stderr] Checking hyper v0.14.28 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper-util v0.1.3 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.24 [INFO] [stderr] Checking rspotify-http v0.12.0 [INFO] [stderr] Checking rotify v0.1.0 (/opt/rustwide/workdir/crates/rotify) [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> crates/rotify/src/api/player/device.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> crates/rotify/src/api/player/device.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncIter` [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{AsyncIter, Error, SpotifyRequest, SpotifyResponse}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Serialize`, `Serializer` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::ser::SerializeMap` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::ser::SerializeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> crates/rotify/src/api/player/device.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> crates/rotify/src/api/player/device.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncIter` [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{AsyncIter, Error, SpotifyRequest, SpotifyResponse}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MapAccess`, `Visitor` [INFO] [stdout] --> crates/rotify/src/model/player/playback.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::de::{Error, MapAccess, Visitor}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Serialize`, `Serializer` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::ser::SerializeMap` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::ser::SerializeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MapAccess`, `Visitor` [INFO] [stdout] --> crates/rotify/src/model/player/playback.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::de::{Error, MapAccess, Visitor}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default::Default` [INFO] [stdout] --> crates/rotify/src/prompt.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::default::Default; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default::Default` [INFO] [stdout] --> crates/rotify/src/prompt.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::default::Default; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rspotify v0.12.0 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/player/state.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/player/state.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 77 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:198:19 [INFO] [stdout] | [INFO] [stdout] 198 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:233:19 [INFO] [stdout] | [INFO] [stdout] 233 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:263:19 [INFO] [stdout] | [INFO] [stdout] 263 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:300:19 [INFO] [stdout] | [INFO] [stdout] 300 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/audio.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 77 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/audio.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/audio.rs:82:19 [INFO] [stdout] | [INFO] [stdout] 82 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:198:19 [INFO] [stdout] | [INFO] [stdout] 198 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:378:19 [INFO] [stdout] | [INFO] [stdout] 378 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:233:19 [INFO] [stdout] | [INFO] [stdout] 233 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:263:19 [INFO] [stdout] | [INFO] [stdout] 263 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:300:19 [INFO] [stdout] | [INFO] [stdout] 300 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/audio.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/audio.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/audio.rs:82:19 [INFO] [stdout] | [INFO] [stdout] 82 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:378:19 [INFO] [stdout] | [INFO] [stdout] 378 | async fn send(mut self) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::seconds`: Use `TimeDelta::try_seconds` instead [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:381:58 [INFO] [stdout] | [INFO] [stdout] 381 | if token.expires < (Local::now() - Duration::seconds(10)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::seconds`: Use `TimeDelta::try_seconds` instead [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:381:58 [INFO] [stdout] | [INFO] [stdout] 381 | if token.expires < (Local::now() - Duration::seconds(10)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::seconds`: Use `TimeDelta::try_seconds` instead [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:102:50 [INFO] [stdout] | [INFO] [stdout] 102 | self.expires < (Local::now() - Duration::seconds(10)) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::seconds`: Use `TimeDelta::try_seconds` instead [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:165:42 [INFO] [stdout] | [INFO] [stdout] 165 | Local::now() + Duration::seconds(seconds) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::seconds`: Use `TimeDelta::try_seconds` instead [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:102:50 [INFO] [stdout] | [INFO] [stdout] 102 | self.expires < (Local::now() - Duration::seconds(10)) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::seconds`: Use `TimeDelta::try_seconds` instead [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:165:42 [INFO] [stdout] | [INFO] [stdout] 165 | Local::now() + Duration::seconds(seconds) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::AsyncIter` [INFO] [stdout] --> crates/rotify/src/model/player/queue.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::AsyncIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncIter` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:11:40 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::model::paginate::{Paginate, AsyncIter, PaginationIter, PaginateCursor}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::AsyncIter` [INFO] [stdout] --> crates/rotify/src/model/player/queue.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::AsyncIter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncIter` [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:11:40 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::model::paginate::{Paginate, AsyncIter, PaginationIter, PaginateCursor}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:103:67 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn seed_artists, S: IntoIterator>(mut self, seed_artists: S) -> GetRecommendationsBuilder { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:112:66 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn seed_genres, S: IntoIterator>(mut self, seed_genres: S) -> GetRecommendationsBuilder { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:121:66 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn seed_tracks, S: IntoIterator>(mut self, seed_tracks: S) -> GetRecommendationsBuilder { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:103:67 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn seed_artists, S: IntoIterator>(mut self, seed_artists: S) -> GetRecommendationsBuilder { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:112:66 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn seed_genres, S: IntoIterator>(mut self, seed_genres: S) -> GetRecommendationsBuilder { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/api/tracks/mod.rs:121:66 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn seed_tracks, S: IntoIterator>(mut self, seed_tracks: S) -> GetRecommendationsBuilder { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:197:18 [INFO] [stdout] | [INFO] [stdout] 197 | let (tx, mut rx) = tokio::sync::mpsc::unbounded_channel(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/rotify/src/auth/mod.rs:197:18 [INFO] [stdout] | [INFO] [stdout] 197 | let (tx, mut rx) = tokio::sync::mpsc::unbounded_channel(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> crates/rotify/src/prompt.rs:31:73 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some((terminal_size::Width(width), terminal_size::Height(height))) = terminal_size::terminal_size() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> crates/rotify/src/prompt.rs:31:73 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some((terminal_size::Width(width), terminal_size::Height(height))) = terminal_size::terminal_size() { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Before` and `After` are never constructed [INFO] [stdout] --> crates/rotify/src/api/player/queue.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | enum TimeOffset { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 10 | Before, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | After, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `before`, `after`, and `limit` are never used [INFO] [stdout] --> crates/rotify/src/api/player/queue.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl RecentlyPlayedBuilder { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 31 | pub fn new(oauth: Arc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn before(mut self, amount: Duration) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn after(mut self, amount: Duration) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn limit(mut self, limit: u8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `market`, `limit`, `offset`, `with_pagination`, and `iter` are never used [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl GetSavedTracksBuilder { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 101 | pub fn new(oauth: Arc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn market>(mut self, market: S) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn limit(mut self, limit: usize) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn offset(mut self, offset: usize) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn with_pagination(mut self, paginate: Paginate) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn iter(self) -> PaginationIter> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 221 | impl CheckSavedTracksBuilder { [INFO] [stdout] | ---------------------------- associated function in this implementation [INFO] [stdout] 222 | pub fn new(oauth: Arc>, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 251 | impl SaveTracksBuilder { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 252 | pub fn new(oauth: Arc>, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl RemoveTracksBuilder { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 289 | pub fn new(oauth: Arc>, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `after`, and `limit` are never used [INFO] [stdout] --> crates/rotify/src/api/users.rs:195:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl GetFollowedArtistsBuilder { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 195 | pub fn new(oauth: Arc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn after(mut self, after: String) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn limit(mut self, limit: usize) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Artist` and `User` are never constructed [INFO] [stdout] --> crates/rotify/src/api/users.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 324 | pub enum FollowVariant { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 325 | Artist, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 326 | User, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `id`, and `ids` are never used [INFO] [stdout] --> crates/rotify/src/api/users.rs:336:12 [INFO] [stdout] | [INFO] [stdout] 335 | impl FollowArtistOrUserBuilder { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 336 | pub fn new(oauth: Arc>, _type: FollowVariant, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn id>(mut self, id: S) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 349 | pub fn ids>(mut self, ids: S) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `id`, and `ids` are never used [INFO] [stdout] --> crates/rotify/src/api/users.rs:388:12 [INFO] [stdout] | [INFO] [stdout] 387 | impl UnfollowArtistOrUserBuilder { [INFO] [stdout] | -------------------------------- associated items in this implementation [INFO] [stdout] 388 | pub fn new(oauth: Arc>, _type: FollowVariant, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 396 | pub fn id>(mut self, id: S) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 401 | pub fn ids>(mut self, ids: S) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `id`, and `ids` are never used [INFO] [stdout] --> crates/rotify/src/api/users.rs:440:12 [INFO] [stdout] | [INFO] [stdout] 439 | impl CheckFollowsArtistOrUserBuilder { [INFO] [stdout] | ------------------------------------ associated items in this implementation [INFO] [stdout] 440 | pub fn new(oauth: Arc>, _type: FollowVariant, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | pub fn id>(mut self, id: S) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 453 | pub fn ids>(mut self, ids: S) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `currently_playing` is never read [INFO] [stdout] --> crates/rotify/src/model/player/queue.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Queue { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 35 | currently_playing: Item, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Queue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Before` and `After` are never constructed [INFO] [stdout] --> crates/rotify/src/api/player/queue.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | enum TimeOffset { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 10 | Before, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | After, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `before`, `after`, and `limit` are never used [INFO] [stdout] --> crates/rotify/src/api/player/queue.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl RecentlyPlayedBuilder { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 31 | pub fn new(oauth: Arc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn before(mut self, amount: Duration) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn after(mut self, amount: Duration) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn limit(mut self, limit: u8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `market`, `limit`, `offset`, `with_pagination`, and `iter` are never used [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl GetSavedTracksBuilder { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 101 | pub fn new(oauth: Arc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn market>(mut self, market: S) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn limit(mut self, limit: usize) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn offset(mut self, offset: usize) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn with_pagination(mut self, paginate: Paginate) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn iter(self) -> PaginationIter> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 221 | impl CheckSavedTracksBuilder { [INFO] [stdout] | ---------------------------- associated function in this implementation [INFO] [stdout] 222 | pub fn new(oauth: Arc>, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 251 | impl SaveTracksBuilder { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 252 | pub fn new(oauth: Arc>, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/rotify/src/api/tracks/track.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl RemoveTracksBuilder { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 289 | pub fn new(oauth: Arc>, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `after`, and `limit` are never used [INFO] [stdout] --> crates/rotify/src/api/users.rs:195:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl GetFollowedArtistsBuilder { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 195 | pub fn new(oauth: Arc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn after(mut self, after: String) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn limit(mut self, limit: usize) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Artist` and `User` are never constructed [INFO] [stdout] --> crates/rotify/src/api/users.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 324 | pub enum FollowVariant { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 325 | Artist, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 326 | User, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `id`, and `ids` are never used [INFO] [stdout] --> crates/rotify/src/api/users.rs:336:12 [INFO] [stdout] | [INFO] [stdout] 335 | impl FollowArtistOrUserBuilder { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 336 | pub fn new(oauth: Arc>, _type: FollowVariant, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn id>(mut self, id: S) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 349 | pub fn ids>(mut self, ids: S) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `id`, and `ids` are never used [INFO] [stdout] --> crates/rotify/src/api/users.rs:388:12 [INFO] [stdout] | [INFO] [stdout] 387 | impl UnfollowArtistOrUserBuilder { [INFO] [stdout] | -------------------------------- associated items in this implementation [INFO] [stdout] 388 | pub fn new(oauth: Arc>, _type: FollowVariant, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 396 | pub fn id>(mut self, id: S) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 401 | pub fn ids>(mut self, ids: S) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `id`, and `ids` are never used [INFO] [stdout] --> crates/rotify/src/api/users.rs:440:12 [INFO] [stdout] | [INFO] [stdout] 439 | impl CheckFollowsArtistOrUserBuilder { [INFO] [stdout] | ------------------------------------ associated items in this implementation [INFO] [stdout] 440 | pub fn new(oauth: Arc>, _type: FollowVariant, ids: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | pub fn id>(mut self, id: S) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 453 | pub fn ids>(mut self, ids: S) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `currently_playing` is never read [INFO] [stdout] --> crates/rotify/src/model/player/queue.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Queue { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 35 | currently_playing: Item, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Queue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncIter`, `auth::OAuth` [INFO] [stdout] --> crates/rotify/examples/api.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use rotify::{AsyncIter, auth::OAuth, Spotify, SpotifyRequest}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Repeat`, `Track` [INFO] [stdout] --> crates/rotify/examples/api.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | use rotify::model::player::{Repeat, Track}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `player` found for enum `Result` in the current scope [INFO] [stdout] --> crates/rotify/examples/api.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 21 | let playback = spotify [INFO] [stdout] | ____________________- [INFO] [stdout] 22 | | .player() [INFO] [stdout] | | -^^^^^^ method not found in `Result` [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] note: the method `player` exists on the type `Spotify` [INFO] [stdout] --> /opt/rustwide/workdir/crates/rotify/src/api/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn player(&mut self) -> player::PlayerBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: consider using `Result::expect` to unwrap the `Spotify` value, panicking if the value is a `Result::Err` [INFO] [stdout] | [INFO] [stdout] 21 | let playback = spotify.expect("REASON") [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SpotifyRequest` [INFO] [stdout] --> crates/rotify/examples/api.rs:3:47 [INFO] [stdout] | [INFO] [stdout] 3 | use rotify::{AsyncIter, auth::OAuth, Spotify, SpotifyRequest}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0599`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rotify` (example "api") due to 2 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "33d665429493138ecb0ee265743586a90762ef37917c0e65ffef3d7ea5d26ba0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33d665429493138ecb0ee265743586a90762ef37917c0e65ffef3d7ea5d26ba0", kill_on_drop: false }` [INFO] [stdout] 33d665429493138ecb0ee265743586a90762ef37917c0e65ffef3d7ea5d26ba0