[INFO] fetching crate sunk 0.1.2...
[INFO] checking sunk-0.1.2 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] extracting crate sunk 0.1.2 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate sunk 0.1.2 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate sunk 0.1.2
[INFO] finished tweaking crates.io crate sunk 0.1.2
[INFO] tweaked toml for crates.io crate sunk 0.1.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded reqwest v0.9.24
[INFO] [stderr]   Downloaded hyper-tls v0.3.2
[INFO] [stderr]   Downloaded cookie v0.12.0
[INFO] [stderr]   Downloaded string v0.2.1
[INFO] [stderr]   Downloaded http-body v0.1.0
[INFO] [stderr]   Downloaded try_from v0.3.2
[INFO] [stderr]   Downloaded futures-cpupool v0.1.8
[INFO] [stderr]   Downloaded want v0.2.0
[INFO] [stderr]   Downloaded parking_lot_core v0.6.3
[INFO] [stderr]   Downloaded md5 v0.6.1
[INFO] [stderr]   Downloaded tokio-current-thread v0.1.7
[INFO] [stderr]   Downloaded tokio-tcp v0.1.4
[INFO] [stderr]   Downloaded tokio-timer v0.2.13
[INFO] [stderr]   Downloaded futures v0.1.31
[INFO] [stderr]   Downloaded h2 v0.1.26
[INFO] [stderr]   Downloaded hyper v0.12.36
[INFO] [stderr]   Downloaded base64 v0.10.1
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.18
[INFO] [stderr]   Downloaded uuid v0.7.4
[INFO] [stderr]   Downloaded tokio v0.1.22
[INFO] [stderr]   Downloaded parking_lot v0.9.0
[INFO] [stderr]   Downloaded tokio-sync v0.1.8
[INFO] [stderr]   Downloaded tokio-executor v0.1.10
[INFO] [stderr]   Downloaded crossbeam-deque v0.7.4
[INFO] [stderr]   Downloaded crossbeam-queue v0.2.3
[INFO] [stderr]   Downloaded cookie_store v0.7.0
[INFO] [stderr]   Downloaded dtoa v0.4.8
[INFO] [stderr]   Downloaded serde_urlencoded v0.5.5
[INFO] [stderr]   Downloaded winreg v0.6.2
[INFO] [stderr]   Downloaded tokio-buf v0.1.1
[INFO] [stderr]   Downloaded lock_api v0.3.4
[INFO] [stderr]   Downloaded tokio-reactor v0.1.12
[INFO] [stderr]   Downloaded publicsuffix v1.5.6
[INFO] [stderr]   Downloaded tokio-io v0.1.13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8e32ff218389654167cc4044a8eb623f5881a0fbc43ab7abb08d423a5159e01b
[INFO] running `Command { std: "docker" "start" "-a" "8e32ff218389654167cc4044a8eb623f5881a0fbc43ab7abb08d423a5159e01b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8e32ff218389654167cc4044a8eb623f5881a0fbc43ab7abb08d423a5159e01b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e32ff218389654167cc4044a8eb623f5881a0fbc43ab7abb08d423a5159e01b", kill_on_drop: false }`
[INFO] [stdout] 8e32ff218389654167cc4044a8eb623f5881a0fbc43ab7abb08d423a5159e01b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29932513a8ad4ccb34d5f15dcb2e3d29220716d3b7e277a632b33aa8c01fe480
[INFO] running `Command { std: "docker" "start" "-a" "29932513a8ad4ccb34d5f15dcb2e3d29220716d3b7e277a632b33aa8c01fe480", kill_on_drop: false }`
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]     Checking http v0.1.21
[INFO] [stderr]     Checking string v0.2.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling hyper v0.12.36
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking serde_json v1.0.113
[INFO] [stderr]     Checking publicsuffix v1.5.6
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking try_from v0.3.2
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking md5 v0.6.1
[INFO] [stderr]     Checking cookie v0.12.0
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking serde_urlencoded v0.5.5
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking tokio-buf v0.1.1
[INFO] [stderr]     Checking want v0.2.0
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]     Checking openssl v0.10.63
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking h2 v0.1.26
[INFO] [stderr]     Checking http-body v0.1.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking cookie_store v0.7.0
[INFO] [stderr]     Checking native-tls v0.2.11
[INFO] [stderr]     Checking hyper-tls v0.3.2
[INFO] [stderr]     Checking reqwest v0.9.24
[INFO] [stderr]     Checking sunk v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Song`
[INFO] [stdout]  --> src/client.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | use {Album, Artist, Error, Genre, Hls, Lyrics, MusicFolder, Result, Song, UrlError, Version};
[INFO] [stdout]   |      ^^^^^  ^^^^^^                                                  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `md5` is imported redundantly
[INFO] [stdout]    --> src/client.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout] 77  |             use md5;
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | extern crate md5;
[INFO] [stdout]     | ----------------- the item `md5` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Song`
[INFO] [stdout]  --> src/client.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | use {Album, Artist, Error, Genre, Hls, Lyrics, MusicFolder, Result, Song, UrlError, Version};
[INFO] [stdout]   |      ^^^^^  ^^^^^^                                                  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `md5` is imported redundantly
[INFO] [stdout]    --> src/client.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout] 77  |             use md5;
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | extern crate md5;
[INFO] [stdout]     | ----------------- the item `md5` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 224 |     /// Sets the user's username.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     /// Sets the user's password.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     /// Set's the user's email.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     /// Enables LDAP authentication for the user.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     /// Bestows admin rights onto the user.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     /// Allows the user to change personal settings and their own password.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     /// Allows the user to play files.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:238:5
[INFO] [stdout]     |
[INFO] [stdout] 238 |     /// Allows the user to play files in jukebox mode.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 |     /// Allows the user to download files.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     /// Allows the user to upload files.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     /// Allows the user to change cover art and tags.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     /// Allows the user to create and edit comments and ratings.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 |     /// Allows the user to administrate podcasts.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     /// Allows the user to share files with others.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     /// Allows the user to start video coversions.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |     /// IDs of the music folders the user is allowed to access.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | /     /// The maximum bit rate (in Kbps) the user is allowed to stream at. Higher
[INFO] [stdout] 257 | |     /// bit rate streams will be downsampled to their limit.
[INFO] [stdout]     | |_____-------------------------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RandomSongs`
[INFO] [stdout]    --> src/lib.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 | use self::song::{Lyrics, RandomSongs, Song};
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::video::Video`
[INFO] [stdout]    --> src/lib.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | use self::video::Video;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 224 |     /// Sets the user's username.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     /// Sets the user's password.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     /// Set's the user's email.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     /// Enables LDAP authentication for the user.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     /// Bestows admin rights onto the user.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     /// Allows the user to change personal settings and their own password.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     /// Allows the user to play files.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:238:5
[INFO] [stdout]     |
[INFO] [stdout] 238 |     /// Allows the user to play files in jukebox mode.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 |     /// Allows the user to download files.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     /// Allows the user to upload files.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     /// Allows the user to change cover art and tags.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     /// Allows the user to create and edit comments and ratings.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 |     /// Allows the user to administrate podcasts.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     /// Allows the user to share files with others.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     /// Allows the user to start video coversions.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |     /// IDs of the music folders the user is allowed to access.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/user.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | /     /// The maximum bit rate (in Kbps) the user is allowed to stream at. Higher
[INFO] [stdout] 257 | |     /// bit rate streams will be downsampled to their limit.
[INFO] [stdout]     | |_____-------------------------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RandomSongs`
[INFO] [stdout]    --> src/lib.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 | use self::song::{Lyrics, RandomSongs, Song};
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::video::Video`
[INFO] [stdout]    --> src/lib.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | use self::video::Video;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `failure::core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/media/mod.rs:258:18
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 .trim_right_matches(",")
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 .trim_end_matches(",")
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `failure::core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> src/media/mod.rs:236:29
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 return Ok(s.trim_left_matches(head));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 return Ok(s.trim_start_matches(head));
[INFO] [stdout]     |                             ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `failure::core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/media/mod.rs:258:18
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 .trim_right_matches(",")
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 .trim_end_matches(",")
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `failure::core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> src/media/mod.rs:236:29
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 return Ok(s.trim_left_matches(head));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 return Ok(s.trim_start_matches(head));
[INFO] [stdout]     |                             ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `artist_id` is never read
[INFO] [stdout]   --> src/collections/album.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct Album {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     artist_id: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Album` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created` is never read
[INFO] [stdout]    --> src/collections/album.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         struct _Album {
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 134 |             created: String,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `_Album` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `duration` are never read
[INFO] [stdout]   --> src/collections/playlist.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Playlist {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     id: u64,
[INFO] [stdout] 11 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     duration: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Playlist` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `comment`, `owner`, `created`, and `changed` are never read
[INFO] [stdout]   --> src/collections/playlist.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         struct _Playlist {
[INFO] [stdout]    |                --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |             comment: String,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 41 |             owner: String,
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |             created: String,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 45 |             changed: String,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `_Playlist` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_playlists` is never used
[INFO] [stdout]   --> src/collections/playlist.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn get_playlists(client: &Client, user: Option<String>) -> Result<Vec<Playlist>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `playlist` is never read
[INFO] [stdout]   --> src/collections/playlist.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |     Ok(get_list_as!(playlist, Playlist))
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/macros.rs:5:16
[INFO] [stdout]    |
[INFO] [stdout] 5  |         struct List {
[INFO] [stdout]    |                ---- field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `get_list_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_playlist` is never used
[INFO] [stdout]    --> src/collections/playlist.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn create_playlist(client: &Client, name: String, songs: &[u64]) -> Result<Option<Playlist>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_playlist` is never used
[INFO] [stdout]    --> src/collections/playlist.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn update_playlist<'a, B, S>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_playlist` is never used
[INFO] [stdout]    --> src/collections/playlist.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn delete_playlist(client: &Client, id: u64) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/media/mod.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         struct _NowPlaying {
[INFO] [stdout]     |                ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 302 |             is_dir: bool,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 303 |             title: String,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 304 |             size: usize,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 305 |             content_type: String,
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 306 |             suffix: String,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 307 |             transcoded_content_type: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 308 |             transcoded_suffix: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |             path: String,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 310 |             is_video: bool,
[INFO] [stdout] 311 |             created: String,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 312 |             #[serde(rename = "type")]
[INFO] [stdout] 313 |             media_type: String,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/media/podcast.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct Podcast {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 9  |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 10 |     url: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 11 |     title: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     description: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     cover_art: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     image_url: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     status: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     episodes: Vec<Episode>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     error: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Podcast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/media/podcast.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Episode {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 22 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 23 |     parent: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     is_dir: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     title: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 26 |     album: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 27 |     artist: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     year: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 29 |     cover_art: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     content_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 32 |     suffix: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     duration: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 34 |     bitrate: usize,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     is_video: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     created: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 37 |     artist_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     media_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     stream_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 40 |     channel_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 41 |     description: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 42 |     status: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 43 |     publish_date: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Episode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `album_id`, `artist_id`, `suffix`, `transcoded_suffix`, `path`, and `media_type` are never read
[INFO] [stdout]   --> src/media/song.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Song {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     album_id: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     artist_id: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     suffix: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     transcoded_suffix: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     path: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 48 |     /// Will always be "song".
[INFO] [stdout] 49 |     media_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Song` 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: multiple fields are never read
[INFO] [stdout]    --> src/media/song.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         struct _Song {
[INFO] [stdout]     |                ----- fields in this struct
[INFO] [stdout] 256 |             id: String,
[INFO] [stdout] 257 |             parent: String,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 258 |             is_dir: bool,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |             bit_rate: Option<u64>,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 273 |             path: String,
[INFO] [stdout] 274 |             is_video: Option<bool>,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 275 |             play_count: u64,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 276 |             disc_number: Option<u64>,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] 277 |             created: String,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `_Song` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/media/video.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Video {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 10 |     pub id: usize,
[INFO] [stdout] 11 |     parent: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 12 |     is_dir: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     suffix: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     transcoded_suffix: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     bitrate: usize,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 23 |     path: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 24 |     is_video: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     created: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 26 |     play_count: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 27 |     pub media_type: String,
[INFO] [stdout] 28 |     bookmark_position: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     original_height: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     original_width: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Video` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status` and `version` are never read
[INFO] [stdout]   --> src/response.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct InnerResponse {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 16 |     status: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 17 |     version: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InnerResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_err` is never used
[INFO] [stdout]    --> src/response.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 64  | impl Response {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn is_err(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/collections/album.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum ListType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/collections/album.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     AlphaByArtist,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/collections/album.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     AlphaByName,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/collections/album.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Frequent,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/collections/album.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Highest,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/collections/album.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Newest,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/collections/album.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Random,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/collections/album.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Recent,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/collections/album.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Starred,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/collections/album.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct Album {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/album.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub id: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/album.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/album.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub artist: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/album.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub duration: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/album.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub year: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/album.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub genre: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/album.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub song_count: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/collections/album.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct AlbumInfo {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/collections/album.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub notes: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/collections/album.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub lastfm_url: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/collections/album.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub musicbrainz_id: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/collections/album.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub image_urls: (String, String, String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/artist.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub id: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/artist.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/collections/artist.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub album_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/collections/artist.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn get(client: &Client, id: usize) -> Result<Artist> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/collections/playlist.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Playlist {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/media/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod podcast;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/media/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod song;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/media/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod video;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/media/podcast.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Podcast {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/media/podcast.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Episode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/media/radio.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct RadioStation {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/radio.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/radio.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub stream_url: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/radio.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub homepage_url: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/media/radio.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn id(&self) -> usize {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/media/radio.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn list(client: &Client) -> Result<Vec<RadioStation>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/media/radio.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn create(client: &Client, name: &str, url: &str, homepage: Option<&str>) -> Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/media/radio.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn update(&self, client: &Client) -> Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/media/radio.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn delete(&self, client: &Client) -> Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/media/video.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Video {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/video.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub id: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/video.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub title: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/video.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub album: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/video.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/video.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub duration: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/media/video.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub media_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/media/video.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn get(client: &Client, id: usize) -> Result<Video> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/media/video.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn list(client: &Client) -> Result<Vec<Video>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/media/video.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     pub fn info<'a, S>(&self, client: &Client, format: S) -> Result<VideoInfo>
[INFO] [stdout] 51 | |     where
[INFO] [stdout] 52 | |         S: Into<Option<&'a str>>,
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/media/video.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub struct VideoInfo {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub id: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub captions: Option<Captions>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub audio_tracks: Vec<AudioTrack>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub conversion: Option<Conversion>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/media/video.rs:261:1
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct AudioTrack {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub id: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub language_code: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/media/video.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub struct Captions {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     pub id: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/media/video.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct Conversion {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 |     pub id: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/media/video.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 |     pub bitrate: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/jukebox.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub position: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     build!(username: &str);
[INFO] [stdout]     |     ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     build!(password: &str);
[INFO] [stdout]     |     ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     build!(email: &str);
[INFO] [stdout]     |     ------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     build!(ldap_authenticated: bool);
[INFO] [stdout]     |     -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     build!(admin_role: bool);
[INFO] [stdout]     |     ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     build!(settings_role: bool);
[INFO] [stdout]     |     --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     build!(stream_role: bool);
[INFO] [stdout]     |     ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     build!(jukebox_role: bool);
[INFO] [stdout]     |     -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     build!(download_role: bool);
[INFO] [stdout]     |     --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     build!(upload_role: bool);
[INFO] [stdout]     |     ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     build!(cover_art_role: bool);
[INFO] [stdout]     |     ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     build!(comment_role: bool);
[INFO] [stdout]     |     -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     build!(podcast_role: bool);
[INFO] [stdout]     |     -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     build!(share_role: bool);
[INFO] [stdout]     |     ------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     build!(video_conversion_role: bool);
[INFO] [stdout]     |     ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     build!(folders: &[u64]);
[INFO] [stdout]     |     ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/user.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         pub fn $f(&mut self, $f: $t) -> &mut UserBuilder {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     build!(max_bit_rate: u64);
[INFO] [stdout]     |     ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/version.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Version(u8, u8, u8);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 125 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `artist_id` is never read
[INFO] [stdout]   --> src/collections/album.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct Album {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     artist_id: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Album` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created` is never read
[INFO] [stdout]    --> src/collections/album.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         struct _Album {
[INFO] [stdout]     |                ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 134 |             created: String,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `_Album` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `duration` are never read
[INFO] [stdout]   --> src/collections/playlist.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Playlist {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     id: u64,
[INFO] [stdout] 11 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     duration: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Playlist` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `comment`, `owner`, `created`, and `changed` are never read
[INFO] [stdout]   --> src/collections/playlist.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         struct _Playlist {
[INFO] [stdout]    |                --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |             comment: String,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 41 |             owner: String,
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |             created: String,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 45 |             changed: String,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `_Playlist` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_playlists` is never used
[INFO] [stdout]   --> src/collections/playlist.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn get_playlists(client: &Client, user: Option<String>) -> Result<Vec<Playlist>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `playlist` is never read
[INFO] [stdout]   --> src/collections/playlist.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |     Ok(get_list_as!(playlist, Playlist))
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/macros.rs:5:16
[INFO] [stdout]    |
[INFO] [stdout] 5  |         struct List {
[INFO] [stdout]    |                ---- field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `get_list_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_playlist` is never used
[INFO] [stdout]    --> src/collections/playlist.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn create_playlist(client: &Client, name: String, songs: &[u64]) -> Result<Option<Playlist>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_playlist` is never used
[INFO] [stdout]    --> src/collections/playlist.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn update_playlist<'a, B, S>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_playlist` is never used
[INFO] [stdout]    --> src/collections/playlist.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn delete_playlist(client: &Client, id: u64) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/media/mod.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         struct _NowPlaying {
[INFO] [stdout]     |                ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 302 |             is_dir: bool,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 303 |             title: String,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 304 |             size: usize,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 305 |             content_type: String,
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 306 |             suffix: String,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 307 |             transcoded_content_type: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 308 |             transcoded_suffix: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |             path: String,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 310 |             is_video: bool,
[INFO] [stdout] 311 |             created: String,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 312 |             #[serde(rename = "type")]
[INFO] [stdout] 313 |             media_type: String,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/media/podcast.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct Podcast {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 9  |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 10 |     url: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 11 |     title: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     description: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     cover_art: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     image_url: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     status: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     episodes: Vec<Episode>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     error: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Podcast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/media/podcast.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Episode {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 22 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 23 |     parent: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     is_dir: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     title: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 26 |     album: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 27 |     artist: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     year: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 29 |     cover_art: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     content_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 32 |     suffix: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     duration: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 34 |     bitrate: usize,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     is_video: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     created: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 37 |     artist_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     media_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     stream_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 40 |     channel_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 41 |     description: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 42 |     status: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 43 |     publish_date: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Episode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `album_id`, `artist_id`, `suffix`, `transcoded_suffix`, `path`, and `media_type` are never read
[INFO] [stdout]   --> src/media/song.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Song {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     album_id: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     artist_id: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     suffix: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     transcoded_suffix: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     path: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 48 |     /// Will always be "song".
[INFO] [stdout] 49 |     media_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Song` 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: multiple fields are never read
[INFO] [stdout]    --> src/media/song.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         struct _Song {
[INFO] [stdout]     |                ----- fields in this struct
[INFO] [stdout] 256 |             id: String,
[INFO] [stdout] 257 |             parent: String,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 258 |             is_dir: bool,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |             bit_rate: Option<u64>,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 273 |             path: String,
[INFO] [stdout] 274 |             is_video: Option<bool>,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 275 |             play_count: u64,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 276 |             disc_number: Option<u64>,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] 277 |             created: String,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `_Song` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/media/video.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Video {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 10 |     pub id: usize,
[INFO] [stdout] 11 |     parent: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 12 |     is_dir: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     suffix: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     transcoded_suffix: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     bitrate: usize,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 23 |     path: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 24 |     is_video: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     created: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 26 |     play_count: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 27 |     pub media_type: String,
[INFO] [stdout] 28 |     bookmark_position: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     original_height: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     original_width: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Video` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status` and `version` are never read
[INFO] [stdout]   --> src/response.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct InnerResponse {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 16 |     status: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 17 |     version: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InnerResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_err` is never used
[INFO] [stdout]    --> src/response.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 64  | impl Response {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn is_err(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 40 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 5.48s
[INFO] running `Command { std: "docker" "inspect" "29932513a8ad4ccb34d5f15dcb2e3d29220716d3b7e277a632b33aa8c01fe480", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29932513a8ad4ccb34d5f15dcb2e3d29220716d3b7e277a632b33aa8c01fe480", kill_on_drop: false }`
[INFO] [stdout] 29932513a8ad4ccb34d5f15dcb2e3d29220716d3b7e277a632b33aa8c01fe480
