[INFO] cloning repository https://github.com/bzf/rustify
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bzf/rustify" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbzf%2Frustify", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbzf%2Frustify'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8987ad3ed6573488d22279e503848a0168939eab
[INFO] testing bzf/rustify against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbzf%2Frustify" "/workspace/builds/worker-1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bzf/rustify on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/bzf/rustify
[INFO] finished tweaking git repo https://github.com/bzf/rustify
[INFO] tweaked toml for git repo https://github.com/bzf/rustify written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate git repo https://github.com/bzf/rustify already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libc v0.2.8
[INFO] [stderr]   Downloaded openal-rs v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ddafecb28e7f2a11ee8232852ad0e3e6f2d17a0ce73a1aa6b11360cb7f738c02
[INFO] running `Command { std: "docker" "start" "-a" "ddafecb28e7f2a11ee8232852ad0e3e6f2d17a0ce73a1aa6b11360cb7f738c02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ddafecb28e7f2a11ee8232852ad0e3e6f2d17a0ce73a1aa6b11360cb7f738c02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddafecb28e7f2a11ee8232852ad0e3e6f2d17a0ce73a1aa6b11360cb7f738c02", kill_on_drop: false }`
[INFO] [stdout] ddafecb28e7f2a11ee8232852ad0e3e6f2d17a0ce73a1aa6b11360cb7f738c02
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3ead53117195620f76c2fa983f4fcc4856f5498c979224b3223072493a497d4f
[INFO] running `Command { std: "docker" "start" "-a" "3ead53117195620f76c2fa983f4fcc4856f5498c979224b3223072493a497d4f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.8
[INFO] [stderr]    Compiling openal-rs v0.1.2
[INFO] [stderr]    Compiling rustify v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]  --> src/spotify/types.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 |   fn handle_music_delivery(&mut self, &Vec<i32>) -> i32;
[INFO] [stdout]   |                                       ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vec<i32>`
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[warn(anonymous_parameters)]` implied by `#[warn(warnings)]`
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/spotify/types.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub player: Arc<Mutex<MusicPlayer>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: use `dyn`: `dyn MusicPlayer`
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OK` should have an upper camel case name
[INFO] [stdout]   --> src/spotify/types.rs:98:3
[INFO] [stdout]    |
[INFO] [stdout] 98 |   SP_ERROR_OK,
[INFO] [stdout]    |   ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOk`
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_API_VERSION` should have an upper camel case name
[INFO] [stdout]   --> src/spotify/types.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 99 |   SP_ERROR_BAD_API_VERSION,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadApiVersion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_API_INITIALIZATION_FAILED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:100:3
[INFO] [stdout]     |
[INFO] [stdout] 100 |   SP_ERROR_API_INITIALIZATION_FAILED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorApiInitializationFailed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_TRACK_NOT_PLAYABLE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:101:3
[INFO] [stdout]     |
[INFO] [stdout] 101 |   SP_ERROR_TRACK_NOT_PLAYABLE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorTrackNotPlayable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_APPLICATION_KEY` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:102:3
[INFO] [stdout]     |
[INFO] [stdout] 102 |   SP_ERROR_BAD_APPLICATION_KEY,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadApplicationKey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_USERNAME_OR_PASSWORD` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 |   SP_ERROR_BAD_USERNAME_OR_PASSWORD,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadUsernameOrPassword`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_USER_BANNED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:104:3
[INFO] [stdout]     |
[INFO] [stdout] 104 |   SP_ERROR_USER_BANNED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUserBanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_UNABLE_TO_CONTACT_SERVER` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:105:3
[INFO] [stdout]     |
[INFO] [stdout] 105 |   SP_ERROR_UNABLE_TO_CONTACT_SERVER,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUnableToContactServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_CLIENT_TOO_OLD` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 106 |   SP_ERROR_CLIENT_TOO_OLD,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorClientTooOld`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OTHER_PERMANENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 107 |   SP_ERROR_OTHER_PERMANENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOtherPermanent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_USER_AGENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:108:3
[INFO] [stdout]     |
[INFO] [stdout] 108 |   SP_ERROR_BAD_USER_AGENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadUserAgent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_MISSING_CALLBACK` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 |   SP_ERROR_MISSING_CALLBACK,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorMissingCallback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_INDATA` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 110 |   SP_ERROR_INVALID_INDATA,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidIndata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INDEX_OUT_OF_RANGE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:111:3
[INFO] [stdout]     |
[INFO] [stdout] 111 |   SP_ERROR_INDEX_OUT_OF_RANGE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorIndexOutOfRange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_USER_NEEDS_PREMIUM` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:112:3
[INFO] [stdout]     |
[INFO] [stdout] 112 |   SP_ERROR_USER_NEEDS_PREMIUM,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUserNeedsPremium`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OTHER_TRANSIENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:113:3
[INFO] [stdout]     |
[INFO] [stdout] 113 |   SP_ERROR_OTHER_TRANSIENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOtherTransient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_IS_LOADING` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:114:3
[INFO] [stdout]     |
[INFO] [stdout] 114 |   SP_ERROR_IS_LOADING,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorIsLoading`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_STREAM_AVAILABLE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 |   SP_ERROR_NO_STREAM_AVAILABLE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoStreamAvailable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_PERMISSION_DENIED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:116:3
[INFO] [stdout]     |
[INFO] [stdout] 116 |   SP_ERROR_PERMISSION_DENIED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorPermissionDenied`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INBOX_IS_FULL` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:117:3
[INFO] [stdout]     |
[INFO] [stdout] 117 |   SP_ERROR_INBOX_IS_FULL,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInboxIsFull`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_CACHE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:118:3
[INFO] [stdout]     |
[INFO] [stdout] 118 |   SP_ERROR_NO_CACHE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoCache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_SUCH_USER` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:119:3
[INFO] [stdout]     |
[INFO] [stdout] 119 |   SP_ERROR_NO_SUCH_USER,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoSuchUser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_CREDENTIALS` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:120:3
[INFO] [stdout]     |
[INFO] [stdout] 120 |   SP_ERROR_NO_CREDENTIALS,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoCredentials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NETWORK_DISABLED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:121:3
[INFO] [stdout]     |
[INFO] [stdout] 121 |   SP_ERROR_NETWORK_DISABLED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNetworkDisabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_DEVICE_ID` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:122:3
[INFO] [stdout]     |
[INFO] [stdout] 122 |   SP_ERROR_INVALID_DEVICE_ID,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidDeviceId`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_CANT_OPEN_TRACE_FILE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 |   SP_ERROR_CANT_OPEN_TRACE_FILE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorCantOpenTraceFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_APPLICATION_BANNED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:124:3
[INFO] [stdout]     |
[INFO] [stdout] 124 |   SP_ERROR_APPLICATION_BANNED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorApplicationBanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_TOO_MANY_TRACKS` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:125:3
[INFO] [stdout]     |
[INFO] [stdout] 125 |   SP_ERROR_OFFLINE_TOO_MANY_TRACKS,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineTooManyTracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_DISK_CACHE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:126:3
[INFO] [stdout]     |
[INFO] [stdout] 126 |   SP_ERROR_OFFLINE_DISK_CACHE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineDiskCache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_EXPIRED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 |   SP_ERROR_OFFLINE_EXPIRED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineExpired`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_NOT_ALLOWED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:128:3
[INFO] [stdout]     |
[INFO] [stdout] 128 |   SP_ERROR_OFFLINE_NOT_ALLOWED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineNotAllowed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_LICENSE_LOST` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:129:3
[INFO] [stdout]     |
[INFO] [stdout] 129 |   SP_ERROR_OFFLINE_LICENSE_LOST,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineLicenseLost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_LICENSE_ERROR` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:130:3
[INFO] [stdout]     |
[INFO] [stdout] 130 |   SP_ERROR_OFFLINE_LICENSE_ERROR,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineLicenseError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_LASTFM_AUTH_ERROR` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:131:3
[INFO] [stdout]     |
[INFO] [stdout] 131 |   SP_ERROR_LASTFM_AUTH_ERROR,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorLastfmAuthError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_ARGUMENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:132:3
[INFO] [stdout]     |
[INFO] [stdout] 132 |   SP_ERROR_INVALID_ARGUMENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidArgument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_SYSTEM_FAILURE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:133:3
[INFO] [stdout]     |
[INFO] [stdout] 133 |   SP_ERROR_SYSTEM_FAILURE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorSystemFailure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |              player: Arc<Mutex<MusicPlayer>>) -> (Session, Receiver<Event>) {
[INFO] [stdout]    |                                ^^^^^^^^^^^ help: use `dyn`: `dyn MusicPlayer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/player/openal_player.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     use std::sync::{Once, ONCE_INIT};
[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  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/player/openal_player.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     static INIT: Once = ONCE_INIT;
[INFO] [stdout]    |                         ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `SpSearchCompleteCallback`
[INFO] [stdout]   --> src/spotify/types.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type SpSearchCompleteCallback = extern fn(*const SpSearch, *const libc::c_void);
[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  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/lib.rs:68:64
[INFO] [stdout]    |
[INFO] [stdout] 68 |     config.user_agent = ffi::CString::new(user_agent).unwrap().as_ptr();
[INFO] [stdout]    |                         -------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.35s
[INFO] running `Command { std: "docker" "inspect" "3ead53117195620f76c2fa983f4fcc4856f5498c979224b3223072493a497d4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ead53117195620f76c2fa983f4fcc4856f5498c979224b3223072493a497d4f", kill_on_drop: false }`
[INFO] [stdout] 3ead53117195620f76c2fa983f4fcc4856f5498c979224b3223072493a497d4f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 783f80bf85cefd97691c76da2a7bc0b80a3a9276df309eaf069814413c0f4320
[INFO] running `Command { std: "docker" "start" "-a" "783f80bf85cefd97691c76da2a7bc0b80a3a9276df309eaf069814413c0f4320", kill_on_drop: false }`
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]  --> src/spotify/types.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 |   fn handle_music_delivery(&mut self, &Vec<i32>) -> i32;
[INFO] [stdout]   |                                       ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vec<i32>`
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[warn(anonymous_parameters)]` implied by `#[warn(warnings)]`
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/spotify/types.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub player: Arc<Mutex<MusicPlayer>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: use `dyn`: `dyn MusicPlayer`
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OK` should have an upper camel case name
[INFO] [stdout]   --> src/spotify/types.rs:98:3
[INFO] [stdout]    |
[INFO] [stdout] 98 |   SP_ERROR_OK,
[INFO] [stdout]    |   ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOk`
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_API_VERSION` should have an upper camel case name
[INFO] [stdout]   --> src/spotify/types.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 99 |   SP_ERROR_BAD_API_VERSION,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadApiVersion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_API_INITIALIZATION_FAILED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:100:3
[INFO] [stdout]     |
[INFO] [stdout] 100 |   SP_ERROR_API_INITIALIZATION_FAILED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorApiInitializationFailed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_TRACK_NOT_PLAYABLE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:101:3
[INFO] [stdout]     |
[INFO] [stdout] 101 |   SP_ERROR_TRACK_NOT_PLAYABLE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorTrackNotPlayable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_APPLICATION_KEY` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:102:3
[INFO] [stdout]     |
[INFO] [stdout] 102 |   SP_ERROR_BAD_APPLICATION_KEY,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadApplicationKey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_USERNAME_OR_PASSWORD` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 |   SP_ERROR_BAD_USERNAME_OR_PASSWORD,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadUsernameOrPassword`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustify v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `SP_ERROR_USER_BANNED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:104:3
[INFO] [stdout]     |
[INFO] [stdout] 104 |   SP_ERROR_USER_BANNED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUserBanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_UNABLE_TO_CONTACT_SERVER` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:105:3
[INFO] [stdout]     |
[INFO] [stdout] 105 |   SP_ERROR_UNABLE_TO_CONTACT_SERVER,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUnableToContactServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_CLIENT_TOO_OLD` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 106 |   SP_ERROR_CLIENT_TOO_OLD,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorClientTooOld`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OTHER_PERMANENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 107 |   SP_ERROR_OTHER_PERMANENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOtherPermanent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_USER_AGENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:108:3
[INFO] [stdout]     |
[INFO] [stdout] 108 |   SP_ERROR_BAD_USER_AGENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadUserAgent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_MISSING_CALLBACK` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 |   SP_ERROR_MISSING_CALLBACK,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorMissingCallback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_INDATA` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 110 |   SP_ERROR_INVALID_INDATA,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidIndata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INDEX_OUT_OF_RANGE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:111:3
[INFO] [stdout]     |
[INFO] [stdout] 111 |   SP_ERROR_INDEX_OUT_OF_RANGE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorIndexOutOfRange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_USER_NEEDS_PREMIUM` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:112:3
[INFO] [stdout]     |
[INFO] [stdout] 112 |   SP_ERROR_USER_NEEDS_PREMIUM,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUserNeedsPremium`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OTHER_TRANSIENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:113:3
[INFO] [stdout]     |
[INFO] [stdout] 113 |   SP_ERROR_OTHER_TRANSIENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOtherTransient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_IS_LOADING` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:114:3
[INFO] [stdout]     |
[INFO] [stdout] 114 |   SP_ERROR_IS_LOADING,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorIsLoading`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_STREAM_AVAILABLE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 |   SP_ERROR_NO_STREAM_AVAILABLE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoStreamAvailable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_PERMISSION_DENIED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:116:3
[INFO] [stdout]     |
[INFO] [stdout] 116 |   SP_ERROR_PERMISSION_DENIED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorPermissionDenied`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INBOX_IS_FULL` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:117:3
[INFO] [stdout]     |
[INFO] [stdout] 117 |   SP_ERROR_INBOX_IS_FULL,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInboxIsFull`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_CACHE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:118:3
[INFO] [stdout]     |
[INFO] [stdout] 118 |   SP_ERROR_NO_CACHE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoCache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_SUCH_USER` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:119:3
[INFO] [stdout]     |
[INFO] [stdout] 119 |   SP_ERROR_NO_SUCH_USER,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoSuchUser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_CREDENTIALS` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:120:3
[INFO] [stdout]     |
[INFO] [stdout] 120 |   SP_ERROR_NO_CREDENTIALS,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoCredentials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NETWORK_DISABLED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:121:3
[INFO] [stdout]     |
[INFO] [stdout] 121 |   SP_ERROR_NETWORK_DISABLED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNetworkDisabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_DEVICE_ID` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:122:3
[INFO] [stdout]     |
[INFO] [stdout] 122 |   SP_ERROR_INVALID_DEVICE_ID,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidDeviceId`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_CANT_OPEN_TRACE_FILE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 |   SP_ERROR_CANT_OPEN_TRACE_FILE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorCantOpenTraceFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_APPLICATION_BANNED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:124:3
[INFO] [stdout]     |
[INFO] [stdout] 124 |   SP_ERROR_APPLICATION_BANNED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorApplicationBanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_TOO_MANY_TRACKS` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:125:3
[INFO] [stdout]     |
[INFO] [stdout] 125 |   SP_ERROR_OFFLINE_TOO_MANY_TRACKS,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineTooManyTracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_DISK_CACHE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:126:3
[INFO] [stdout]     |
[INFO] [stdout] 126 |   SP_ERROR_OFFLINE_DISK_CACHE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineDiskCache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_EXPIRED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 |   SP_ERROR_OFFLINE_EXPIRED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineExpired`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_NOT_ALLOWED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:128:3
[INFO] [stdout]     |
[INFO] [stdout] 128 |   SP_ERROR_OFFLINE_NOT_ALLOWED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineNotAllowed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_LICENSE_LOST` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:129:3
[INFO] [stdout]     |
[INFO] [stdout] 129 |   SP_ERROR_OFFLINE_LICENSE_LOST,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineLicenseLost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_LICENSE_ERROR` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:130:3
[INFO] [stdout]     |
[INFO] [stdout] 130 |   SP_ERROR_OFFLINE_LICENSE_ERROR,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineLicenseError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_LASTFM_AUTH_ERROR` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:131:3
[INFO] [stdout]     |
[INFO] [stdout] 131 |   SP_ERROR_LASTFM_AUTH_ERROR,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorLastfmAuthError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_ARGUMENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:132:3
[INFO] [stdout]     |
[INFO] [stdout] 132 |   SP_ERROR_INVALID_ARGUMENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidArgument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_SYSTEM_FAILURE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:133:3
[INFO] [stdout]     |
[INFO] [stdout] 133 |   SP_ERROR_SYSTEM_FAILURE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorSystemFailure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |              player: Arc<Mutex<MusicPlayer>>) -> (Session, Receiver<Event>) {
[INFO] [stdout]    |                                ^^^^^^^^^^^ help: use `dyn`: `dyn MusicPlayer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/player/openal_player.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     use std::sync::{Once, ONCE_INIT};
[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  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/player/openal_player.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     static INIT: Once = ONCE_INIT;
[INFO] [stdout]    |                         ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `SpSearchCompleteCallback`
[INFO] [stdout]   --> src/spotify/types.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type SpSearchCompleteCallback = extern fn(*const SpSearch, *const libc::c_void);
[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  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/lib.rs:68:64
[INFO] [stdout]    |
[INFO] [stdout] 68 |     config.user_agent = ffi::CString::new(user_agent).unwrap().as_ptr();
[INFO] [stdout]    |                         -------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `application_key`
[INFO] [stdout]  --> examples/search.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod application_key;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `application_key`, create file "examples/application_key.rs" or "examples/application_key/mod.rs"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get` in module `application_key`
[INFO] [stdout]   --> examples/search.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     application_key::get(),
[INFO] [stdout]    |                      ^^^ not found in `application_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `application_key`
[INFO] [stdout]  --> examples/tekno.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | mod application_key;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `application_key`, create file "examples/application_key.rs" or "examples/application_key/mod.rs"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0583.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustify` due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0425]: cannot find function `get` in module `application_key`
[INFO] [stdout]   --> examples/tekno.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |     application_key::get(),
[INFO] [stdout]    |                      ^^^ not found in `application_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0583.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]  --> src/spotify/types.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 |   fn handle_music_delivery(&mut self, &Vec<i32>) -> i32;
[INFO] [stdout]   |                                       ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vec<i32>`
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[warn(anonymous_parameters)]` implied by `#[warn(warnings)]`
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/spotify/types.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub player: Arc<Mutex<MusicPlayer>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: use `dyn`: `dyn MusicPlayer`
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OK` should have an upper camel case name
[INFO] [stdout]   --> src/spotify/types.rs:98:3
[INFO] [stdout]    |
[INFO] [stdout] 98 |   SP_ERROR_OK,
[INFO] [stdout]    |   ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOk`
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_API_VERSION` should have an upper camel case name
[INFO] [stdout]   --> src/spotify/types.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 99 |   SP_ERROR_BAD_API_VERSION,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadApiVersion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_API_INITIALIZATION_FAILED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:100:3
[INFO] [stdout]     |
[INFO] [stdout] 100 |   SP_ERROR_API_INITIALIZATION_FAILED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorApiInitializationFailed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_TRACK_NOT_PLAYABLE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:101:3
[INFO] [stdout]     |
[INFO] [stdout] 101 |   SP_ERROR_TRACK_NOT_PLAYABLE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorTrackNotPlayable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_APPLICATION_KEY` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:102:3
[INFO] [stdout]     |
[INFO] [stdout] 102 |   SP_ERROR_BAD_APPLICATION_KEY,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadApplicationKey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_USERNAME_OR_PASSWORD` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 |   SP_ERROR_BAD_USERNAME_OR_PASSWORD,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadUsernameOrPassword`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_USER_BANNED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:104:3
[INFO] [stdout]     |
[INFO] [stdout] 104 |   SP_ERROR_USER_BANNED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUserBanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_UNABLE_TO_CONTACT_SERVER` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:105:3
[INFO] [stdout]     |
[INFO] [stdout] 105 |   SP_ERROR_UNABLE_TO_CONTACT_SERVER,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUnableToContactServer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_CLIENT_TOO_OLD` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 106 |   SP_ERROR_CLIENT_TOO_OLD,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorClientTooOld`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OTHER_PERMANENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 107 |   SP_ERROR_OTHER_PERMANENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOtherPermanent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_BAD_USER_AGENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:108:3
[INFO] [stdout]     |
[INFO] [stdout] 108 |   SP_ERROR_BAD_USER_AGENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorBadUserAgent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_MISSING_CALLBACK` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:109:3
[INFO] [stdout]     |
[INFO] [stdout] 109 |   SP_ERROR_MISSING_CALLBACK,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorMissingCallback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_INDATA` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 110 |   SP_ERROR_INVALID_INDATA,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidIndata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INDEX_OUT_OF_RANGE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:111:3
[INFO] [stdout]     |
[INFO] [stdout] 111 |   SP_ERROR_INDEX_OUT_OF_RANGE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorIndexOutOfRange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_USER_NEEDS_PREMIUM` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:112:3
[INFO] [stdout]     |
[INFO] [stdout] 112 |   SP_ERROR_USER_NEEDS_PREMIUM,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorUserNeedsPremium`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OTHER_TRANSIENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:113:3
[INFO] [stdout]     |
[INFO] [stdout] 113 |   SP_ERROR_OTHER_TRANSIENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOtherTransient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_IS_LOADING` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:114:3
[INFO] [stdout]     |
[INFO] [stdout] 114 |   SP_ERROR_IS_LOADING,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorIsLoading`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_STREAM_AVAILABLE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 |   SP_ERROR_NO_STREAM_AVAILABLE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoStreamAvailable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_PERMISSION_DENIED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:116:3
[INFO] [stdout]     |
[INFO] [stdout] 116 |   SP_ERROR_PERMISSION_DENIED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorPermissionDenied`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INBOX_IS_FULL` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:117:3
[INFO] [stdout]     |
[INFO] [stdout] 117 |   SP_ERROR_INBOX_IS_FULL,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInboxIsFull`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_CACHE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:118:3
[INFO] [stdout]     |
[INFO] [stdout] 118 |   SP_ERROR_NO_CACHE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoCache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_SUCH_USER` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:119:3
[INFO] [stdout]     |
[INFO] [stdout] 119 |   SP_ERROR_NO_SUCH_USER,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoSuchUser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NO_CREDENTIALS` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:120:3
[INFO] [stdout]     |
[INFO] [stdout] 120 |   SP_ERROR_NO_CREDENTIALS,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNoCredentials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_NETWORK_DISABLED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:121:3
[INFO] [stdout]     |
[INFO] [stdout] 121 |   SP_ERROR_NETWORK_DISABLED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorNetworkDisabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_DEVICE_ID` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:122:3
[INFO] [stdout]     |
[INFO] [stdout] 122 |   SP_ERROR_INVALID_DEVICE_ID,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidDeviceId`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_CANT_OPEN_TRACE_FILE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 |   SP_ERROR_CANT_OPEN_TRACE_FILE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorCantOpenTraceFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_APPLICATION_BANNED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:124:3
[INFO] [stdout]     |
[INFO] [stdout] 124 |   SP_ERROR_APPLICATION_BANNED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorApplicationBanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_TOO_MANY_TRACKS` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:125:3
[INFO] [stdout]     |
[INFO] [stdout] 125 |   SP_ERROR_OFFLINE_TOO_MANY_TRACKS,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineTooManyTracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_DISK_CACHE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:126:3
[INFO] [stdout]     |
[INFO] [stdout] 126 |   SP_ERROR_OFFLINE_DISK_CACHE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineDiskCache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_EXPIRED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 |   SP_ERROR_OFFLINE_EXPIRED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineExpired`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_NOT_ALLOWED` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:128:3
[INFO] [stdout]     |
[INFO] [stdout] 128 |   SP_ERROR_OFFLINE_NOT_ALLOWED,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineNotAllowed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_LICENSE_LOST` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:129:3
[INFO] [stdout]     |
[INFO] [stdout] 129 |   SP_ERROR_OFFLINE_LICENSE_LOST,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineLicenseLost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_OFFLINE_LICENSE_ERROR` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:130:3
[INFO] [stdout]     |
[INFO] [stdout] 130 |   SP_ERROR_OFFLINE_LICENSE_ERROR,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorOfflineLicenseError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_LASTFM_AUTH_ERROR` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:131:3
[INFO] [stdout]     |
[INFO] [stdout] 131 |   SP_ERROR_LASTFM_AUTH_ERROR,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorLastfmAuthError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_INVALID_ARGUMENT` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:132:3
[INFO] [stdout]     |
[INFO] [stdout] 132 |   SP_ERROR_INVALID_ARGUMENT,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorInvalidArgument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SP_ERROR_SYSTEM_FAILURE` should have an upper camel case name
[INFO] [stdout]    --> src/spotify/types.rs:133:3
[INFO] [stdout]     |
[INFO] [stdout] 133 |   SP_ERROR_SYSTEM_FAILURE,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SpErrorSystemFailure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |              player: Arc<Mutex<MusicPlayer>>) -> (Session, Receiver<Event>) {
[INFO] [stdout]    |                                ^^^^^^^^^^^ help: use `dyn`: `dyn MusicPlayer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/player/openal_player.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     use std::sync::{Once, ONCE_INIT};
[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  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/player/openal_player.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     static INIT: Once = ONCE_INIT;
[INFO] [stdout]    |                         ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `SpSearchCompleteCallback`
[INFO] [stdout]   --> src/spotify/types.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type SpSearchCompleteCallback = extern fn(*const SpSearch, *const libc::c_void);
[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  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/lib.rs:68:64
[INFO] [stdout]    |
[INFO] [stdout] 68 |     config.user_agent = ffi::CString::new(user_agent).unwrap().as_ptr();
[INFO] [stdout]    |                         -------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.rustify.d17ebf5d-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273.1w5yqij9qpah04rn.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lspotify" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-6e9019ff2cdb2237.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-e9cc0b5f091b140c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-762dfa4479f14aad.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-2a5ac1cc0b21909c.rlib" "/opt/rustwide/target/debug/deps/libopenal-c02c6122b6e4bc79.rlib" "/opt/rustwide/target/debug/deps/liblibc-0804c90684150af3.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-197d933f09d9a590.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-46a006cddfd334f0.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-5b9870310e470b38.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-260022ba8f1ab4ee.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-71377435a799394f.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-658ee5924fde57cd.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-9e8627da6bd1b94a.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-19fdaac49f59be84.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-cb00e2691ea45905.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-50f6726defae5ae1.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2afc16311deea26e.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-bb5cb0fe086ee8cf.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-896053247b5dfd0b.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-735e1f2ac3cf23be.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9dfb6622644c732c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-beea7d9617fe25c5.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-8ef7dd43fc671f88.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a9a3b2ad67977f47.rlib" "-Wl,-Bdynamic" "-lopenal" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/rustify-440ce0f369c5e273" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: /usr/bin/ld: cannot find -lspotify
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "783f80bf85cefd97691c76da2a7bc0b80a3a9276df309eaf069814413c0f4320", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "783f80bf85cefd97691c76da2a7bc0b80a3a9276df309eaf069814413c0f4320", kill_on_drop: false }`
[INFO] [stdout] 783f80bf85cefd97691c76da2a7bc0b80a3a9276df309eaf069814413c0f4320
