[INFO] crate spotify 0.7.1 is already in cache [INFO] extracting crate spotify 0.7.1 into work/ex/clippy-test-run/sources/stable/reg/spotify/0.7.1 [INFO] extracting crate spotify 0.7.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/spotify/0.7.1 [INFO] validating manifest of spotify-0.7.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of spotify-0.7.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing spotify-0.7.1 [INFO] finished frobbing spotify-0.7.1 [INFO] frobbed toml for spotify-0.7.1 written to work/ex/clippy-test-run/sources/stable/reg/spotify/0.7.1/Cargo.toml [INFO] started frobbing spotify-0.7.1 [INFO] finished frobbing spotify-0.7.1 [INFO] frobbed toml for spotify-0.7.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/spotify/0.7.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting spotify-0.7.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/spotify/0.7.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] fa79dad7528b1ee4272bf313dce2e00777097d101ca6923d1eb81a56c17dc8d9 [INFO] running `"docker" "start" "-a" "fa79dad7528b1ee4272bf313dce2e00777097d101ca6923d1eb81a56c17dc8d9"` [INFO] [stderr] Checking pulldown-cmark v0.0.8 [INFO] [stderr] Compiling skeptic v0.9.0 [INFO] [stderr] Checking reqwest v0.5.2 [INFO] [stderr] Compiling spotify v0.7.1 (/opt/crater/workdir) [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | const HEADER_UA: &'static str = "Mozilla/5.0 (Windows; rv:50.0) Gecko/20100101 Firefox/50.0"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:11:30 [INFO] [stderr] | [INFO] [stderr] 11 | const HEADER_ORIGIN_SCHEME: &'static str = "https"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:12:28 [INFO] [stderr] | [INFO] [stderr] 12 | const HEADER_ORIGIN_HOST: &'static str = "embed.spotify.com"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:15:19 [INFO] [stderr] | [INFO] [stderr] 15 | const URL_EMBED: &'static str = "https://embed.spotify.com"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | const URL_TOKEN: &'static str = "https://open.spotify.com/token"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | const URL_LOCAL: &'static str = "http://spotifyrs.spotilocal.com"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | const REQUEST_CSRF: &'static str = "simplecsrf/token.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | const REQUEST_STATUS: &'static str = "remote/status.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:26:22 [INFO] [stderr] | [INFO] [stderr] 26 | const REQUEST_PLAY: &'static str = "remote/play.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:27:22 [INFO] [stderr] | [INFO] [stderr] 27 | const REQUEST_OPEN: &'static str = "remote/open.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:28:23 [INFO] [stderr] | [INFO] [stderr] 28 | const REQUEST_PAUSE: &'static str = "remote/pause.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:31:23 [INFO] [stderr] | [INFO] [stderr] 31 | const REFERAL_TRACK: &'static str = "track/4uLU6hMCjMI75M1A2tKUQC"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/connector.rs:103:20 [INFO] [stderr] | [INFO] [stderr] 103 | self.port = port as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(port)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/connector.rs:115:30 [INFO] [stderr] | [INFO] [stderr] 115 | Ok(result) => Ok(result["running"] == true), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `result["running"]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/connector.rs:167:32 [INFO] [stderr] | [INFO] [stderr] 167 | if !query.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'?'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:224:21 [INFO] [stderr] | [INFO] [stderr] 224 | online: json["online"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["online"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:226:22 [INFO] [stderr] | [INFO] [stderr] 226 | running: json["running"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["running"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:227:22 [INFO] [stderr] | [INFO] [stderr] 227 | playing: json["playing"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["playing"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:228:22 [INFO] [stderr] | [INFO] [stderr] 228 | shuffle: json["shuffle"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["shuffle"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:230:27 [INFO] [stderr] | [INFO] [stderr] 230 | play_enabled: json["play_enabled"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["play_enabled"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:231:27 [INFO] [stderr] | [INFO] [stderr] 231 | prev_enabled: json["prev_enabled"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["prev_enabled"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:232:27 [INFO] [stderr] | [INFO] [stderr] 232 | next_enabled: json["next_enabled"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["next_enabled"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:245:30 [INFO] [stderr] | [INFO] [stderr] 245 | private_session: json["private_session"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["private_session"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:246:31 [INFO] [stderr] | [INFO] [stderr] 246 | posting_disabled: json["posting_disabled"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["posting_disabled"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/status.rs:313:32 [INFO] [stderr] | [INFO] [stderr] 313 | ($field:ident) => (curr.$field != last.$field) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(curr.$field - last.$field).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 316 | volume: status_compare_field!(volume), [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/status.rs:313:32 [INFO] [stderr] | [INFO] [stderr] 313 | ($field:ident) => (curr.$field != last.$field) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 316 | volume: status_compare_field!(volume), [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/status.rs:313:32 [INFO] [stderr] | [INFO] [stderr] 313 | ($field:ident) => (curr.$field != last.$field) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(curr.$field - last.$field).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 327 | playing_position: status_compare_field!(playing_position), [INFO] [stderr] | --------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/status.rs:313:32 [INFO] [stderr] | [INFO] [stderr] 313 | ($field:ident) => (curr.$field != last.$field) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 327 | playing_position: status_compare_field!(playing_position), [INFO] [stderr] | --------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn poll<'a, F: 'static>(self, f: F) -> JoinHandle<()> [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:140:36 [INFO] [stderr] | [INFO] [stderr] 140 | .trim_left_matches(":") // get rid of : at the beginning [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `spotify`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | const HEADER_UA: &'static str = "Mozilla/5.0 (Windows; rv:50.0) Gecko/20100101 Firefox/50.0"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:11:30 [INFO] [stderr] | [INFO] [stderr] 11 | const HEADER_ORIGIN_SCHEME: &'static str = "https"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:12:28 [INFO] [stderr] | [INFO] [stderr] 12 | const HEADER_ORIGIN_HOST: &'static str = "embed.spotify.com"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:15:19 [INFO] [stderr] | [INFO] [stderr] 15 | const URL_EMBED: &'static str = "https://embed.spotify.com"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | const URL_TOKEN: &'static str = "https://open.spotify.com/token"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | const URL_LOCAL: &'static str = "http://spotifyrs.spotilocal.com"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | const REQUEST_CSRF: &'static str = "simplecsrf/token.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | const REQUEST_STATUS: &'static str = "remote/status.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:26:22 [INFO] [stderr] | [INFO] [stderr] 26 | const REQUEST_PLAY: &'static str = "remote/play.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:27:22 [INFO] [stderr] | [INFO] [stderr] 27 | const REQUEST_OPEN: &'static str = "remote/open.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:28:23 [INFO] [stderr] | [INFO] [stderr] 28 | const REQUEST_PAUSE: &'static str = "remote/pause.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/connector.rs:31:23 [INFO] [stderr] | [INFO] [stderr] 31 | const REFERAL_TRACK: &'static str = "track/4uLU6hMCjMI75M1A2tKUQC"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/connector.rs:103:20 [INFO] [stderr] | [INFO] [stderr] 103 | self.port = port as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(port)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/connector.rs:115:30 [INFO] [stderr] | [INFO] [stderr] 115 | Ok(result) => Ok(result["running"] == true), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `result["running"]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/connector.rs:167:32 [INFO] [stderr] | [INFO] [stderr] 167 | if !query.contains("?") { [INFO] [stderr] | ^^^ help: try using a char instead: `'?'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:224:21 [INFO] [stderr] | [INFO] [stderr] 224 | online: json["online"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["online"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:226:22 [INFO] [stderr] | [INFO] [stderr] 226 | running: json["running"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["running"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:227:22 [INFO] [stderr] | [INFO] [stderr] 227 | playing: json["playing"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["playing"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:228:22 [INFO] [stderr] | [INFO] [stderr] 228 | shuffle: json["shuffle"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["shuffle"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:230:27 [INFO] [stderr] | [INFO] [stderr] 230 | play_enabled: json["play_enabled"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["play_enabled"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:231:27 [INFO] [stderr] | [INFO] [stderr] 231 | prev_enabled: json["prev_enabled"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["prev_enabled"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:232:27 [INFO] [stderr] | [INFO] [stderr] 232 | next_enabled: json["next_enabled"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["next_enabled"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:245:30 [INFO] [stderr] | [INFO] [stderr] 245 | private_session: json["private_session"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["private_session"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/status.rs:246:31 [INFO] [stderr] | [INFO] [stderr] 246 | posting_disabled: json["posting_disabled"] == true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `json["posting_disabled"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/status.rs:313:32 [INFO] [stderr] | [INFO] [stderr] 313 | ($field:ident) => (curr.$field != last.$field) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(curr.$field - last.$field).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 316 | volume: status_compare_field!(volume), [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/status.rs:313:32 [INFO] [stderr] | [INFO] [stderr] 313 | ($field:ident) => (curr.$field != last.$field) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 316 | volume: status_compare_field!(volume), [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/status.rs:313:32 [INFO] [stderr] | [INFO] [stderr] 313 | ($field:ident) => (curr.$field != last.$field) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(curr.$field - last.$field).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 327 | playing_position: status_compare_field!(playing_position), [INFO] [stderr] | --------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/status.rs:313:32 [INFO] [stderr] | [INFO] [stderr] 313 | ($field:ident) => (curr.$field != last.$field) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 327 | playing_position: status_compare_field!(playing_position), [INFO] [stderr] | --------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn poll<'a, F: 'static>(self, f: F) -> JoinHandle<()> [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:140:36 [INFO] [stderr] | [INFO] [stderr] 140 | .trim_left_matches(":") // get rid of : at the beginning [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `spotify`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "fa79dad7528b1ee4272bf313dce2e00777097d101ca6923d1eb81a56c17dc8d9"` [INFO] running `"docker" "rm" "-f" "fa79dad7528b1ee4272bf313dce2e00777097d101ca6923d1eb81a56c17dc8d9"` [INFO] [stdout] fa79dad7528b1ee4272bf313dce2e00777097d101ca6923d1eb81a56c17dc8d9