[INFO] crate async-mesos 0.1.0 is already in cache [INFO] extracting crate async-mesos 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/async-mesos/0.1.0 [INFO] extracting crate async-mesos 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/async-mesos/0.1.0 [INFO] validating manifest of async-mesos-0.1.0 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 async-mesos-0.1.0 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 async-mesos-0.1.0 [INFO] finished frobbing async-mesos-0.1.0 [INFO] frobbed toml for async-mesos-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/async-mesos/0.1.0/Cargo.toml [INFO] started frobbing async-mesos-0.1.0 [INFO] finished frobbing async-mesos-0.1.0 [INFO] frobbed toml for async-mesos-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/async-mesos/0.1.0/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 async-mesos-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/async-mesos/0.1.0:/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] 389950951f3e9c3308abe879202a1eb748cc6ba2811adcc1c961b6a8d0909fd3 [INFO] running `"docker" "start" "-a" "389950951f3e9c3308abe879202a1eb748cc6ba2811adcc1c961b6a8d0909fd3"` [INFO] [stderr] Compiling protobuf v1.7.4 [INFO] [stderr] Checking users v0.6.1 [INFO] [stderr] Checking async-mesos v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/client.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: lint name `clippy` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/mesos.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #![allow(clippy)] [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::all` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `clippy` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/scheduler.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #![allow(clippy)] [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::all` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/client.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: lint name `clippy` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/mesos.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #![allow(clippy)] [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::all` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `clippy` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/scheduler.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #![allow(clippy)] [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::all` [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:70:23 [INFO] [stderr] | [INFO] [stderr] 70 | Err(e) => return Err(From::from(e)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(From::from(e))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:71:39 [INFO] [stderr] | [INFO] [stderr] 71 | Ok(Async::Ready(None)) => return self.drain(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.drain()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:72:36 [INFO] [stderr] | [INFO] [stderr] 72 | Ok(Async::NotReady) => return Ok(Async::NotReady), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Async::NotReady)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decoder.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | return (RecordIoDecoderState::ReadRecord { len: length }, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(RecordIoDecoderState::ReadRecord { len: length }, None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decoder.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | / return ( [INFO] [stderr] 65 | | RecordIoDecoderState::TrimWhitespaces, [INFO] [stderr] 66 | | Some(record_buf.freeze()), [INFO] [stderr] 67 | | ); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 64 | ( [INFO] [stderr] 65 | RecordIoDecoderState::TrimWhitespaces, [INFO] [stderr] 66 | Some(record_buf.freeze()), [INFO] [stderr] 67 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decoder.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | return Ok(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: lint name `clippy` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/mesos.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #![allow(clippy)] [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::all` [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:70:23 [INFO] [stderr] | [INFO] [stderr] 70 | Err(e) => return Err(From::from(e)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(From::from(e))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:71:39 [INFO] [stderr] | [INFO] [stderr] 71 | Ok(Async::Ready(None)) => return self.drain(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.drain()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:72:36 [INFO] [stderr] | [INFO] [stderr] 72 | Ok(Async::NotReady) => return Ok(Async::NotReady), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Async::NotReady)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decoder.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | return (RecordIoDecoderState::ReadRecord { len: length }, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(RecordIoDecoderState::ReadRecord { len: length }, None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decoder.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | / return ( [INFO] [stderr] 65 | | RecordIoDecoderState::TrimWhitespaces, [INFO] [stderr] 66 | | Some(record_buf.freeze()), [INFO] [stderr] 67 | | ); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 64 | ( [INFO] [stderr] 65 | RecordIoDecoderState::TrimWhitespaces, [INFO] [stderr] 66 | Some(record_buf.freeze()), [INFO] [stderr] 67 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decoder.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | return Ok(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: lint name `clippy` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/mesos.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #![allow(clippy)] [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::all` [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/client.rs:200:41 [INFO] [stderr] | [INFO] [stderr] 200 | .map_err(|(err, _)| failure::Error::from(err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `failure::Error::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/decoder.rs:29:32 [INFO] [stderr] | [INFO] [stderr] 29 | fn is_whitespace(&self, b: &u8) -> bool { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/decoder.rs:75:15 [INFO] [stderr] | [INFO] [stderr] 75 | while buf.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/client.rs:200:41 [INFO] [stderr] | [INFO] [stderr] 200 | .map_err(|(err, _)| failure::Error::from(err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `failure::Error::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/decoder.rs:29:32 [INFO] [stderr] | [INFO] [stderr] 29 | fn is_whitespace(&self, b: &u8) -> bool { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/decoder.rs:75:15 [INFO] [stderr] | [INFO] [stderr] 75 | while buf.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> tests/mesos.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | client: client, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `client` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> tests/mesos.rs:183:33 [INFO] [stderr] | [INFO] [stderr] 183 | return Box::new(s); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(s)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> tests/mesos.rs:175:33 [INFO] [stderr] | [INFO] [stderr] 175 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> tests/mesos.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | simple_logger::init(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> tests/mesos.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | simple_logger::init(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> tests/mesos.rs:163:46 [INFO] [stderr] | [INFO] [stderr] 163 | let task_state = status.get_state().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `status.get_state()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 56.83s [INFO] running `"docker" "inspect" "389950951f3e9c3308abe879202a1eb748cc6ba2811adcc1c961b6a8d0909fd3"` [INFO] running `"docker" "rm" "-f" "389950951f3e9c3308abe879202a1eb748cc6ba2811adcc1c961b6a8d0909fd3"` [INFO] [stdout] 389950951f3e9c3308abe879202a1eb748cc6ba2811adcc1c961b6a8d0909fd3