[INFO] updating cached repository davidalber/rustatsd [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/davidalber/rustatsd [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/davidalber/rustatsd" "work/ex/clippy-test-run/sources/stable/gh/davidalber/rustatsd"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/davidalber/rustatsd'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/davidalber/rustatsd" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davidalber/rustatsd"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davidalber/rustatsd'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3713db1f96a6dd189630ca1772678b952cb7d5d4 [INFO] sha for GitHub repo davidalber/rustatsd: 3713db1f96a6dd189630ca1772678b952cb7d5d4 [INFO] validating manifest of davidalber/rustatsd 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 davidalber/rustatsd 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 davidalber/rustatsd [INFO] finished frobbing davidalber/rustatsd [INFO] frobbed toml for davidalber/rustatsd written to work/ex/clippy-test-run/sources/stable/gh/davidalber/rustatsd/Cargo.toml [INFO] started frobbing davidalber/rustatsd [INFO] finished frobbing davidalber/rustatsd [INFO] frobbed toml for davidalber/rustatsd written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davidalber/rustatsd/Cargo.toml [INFO] crate davidalber/rustatsd has a lockfile. skipping [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 davidalber/rustatsd against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/davidalber/rustatsd:/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] 96f586898d2ed181acaa1971f0a8ea102b12d252dc8b33f4f2d678da0ad4e52e [INFO] running `"docker" "start" "-a" "96f586898d2ed181acaa1971f0a8ea102b12d252dc8b33f4f2d678da0ad4e52e"` [INFO] [stderr] Checking seahash v3.0.5 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking bytes v0.4.10 [INFO] [stderr] Checking toml v0.4.6 [INFO] [stderr] Checking serde-hjson v0.8.1 [INFO] [stderr] Checking nom v3.2.1 [INFO] [stderr] Checking config v0.8.0 [INFO] [stderr] Checking rustatsd v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:13:33 [INFO] [stderr] | [INFO] [stderr] 13 | const SLAB_BUFFER_SIZE: usize = 50000000; [INFO] [stderr] | ^^^^^^^^ help: consider: `50_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: field is never used: `flush_interval` [INFO] [stderr] --> src/lib.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | flush_interval: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/lib.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | / loop { [INFO] [stderr] 49 | | match self.rx.recv().unwrap() { [INFO] [stderr] 50 | | Some(metric) => println!("[In worker {}] {:?}", self.id, metric), [INFO] [stderr] 51 | | None => break, [INFO] [stderr] 52 | | }; [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(metric) = self.rx.recv().unwrap() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `MetricIngester` [INFO] [stderr] --> src/lib.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn new() -> MetricIngester { [INFO] [stderr] 65 | | let config = Config::load_config(); [INFO] [stderr] 66 | | let socket = match UdpSocket::bind(format!("127.0.0.1:{}", config.port)) { [INFO] [stderr] 67 | | Ok(socket) => { [INFO] [stderr] ... | [INFO] [stderr] 86 | | MetricIngester { config, socket, worker_senders } [INFO] [stderr] 87 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 63 | impl Default for MetricIngester { [INFO] [stderr] 64 | fn default() -> Self { [INFO] [stderr] 65 | Self::new() [INFO] [stderr] 66 | } [INFO] [stderr] 67 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:90:37 [INFO] [stderr] | [INFO] [stderr] 90 | (hash(stat_name.as_ref()) % self.config.worker_count as u64) as usize [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.config.worker_count)` [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: long literal lacking separators [INFO] [stderr] --> src/lib.rs:13:33 [INFO] [stderr] | [INFO] [stderr] 13 | const SLAB_BUFFER_SIZE: usize = 50000000; [INFO] [stderr] | ^^^^^^^^ help: consider: `50_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: field is never used: `flush_interval` [INFO] [stderr] --> src/lib.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | flush_interval: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/lib.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | / loop { [INFO] [stderr] 49 | | match self.rx.recv().unwrap() { [INFO] [stderr] 50 | | Some(metric) => println!("[In worker {}] {:?}", self.id, metric), [INFO] [stderr] 51 | | None => break, [INFO] [stderr] 52 | | }; [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(metric) = self.rx.recv().unwrap() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `MetricIngester` [INFO] [stderr] --> src/lib.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn new() -> MetricIngester { [INFO] [stderr] 65 | | let config = Config::load_config(); [INFO] [stderr] 66 | | let socket = match UdpSocket::bind(format!("127.0.0.1:{}", config.port)) { [INFO] [stderr] 67 | | Ok(socket) => { [INFO] [stderr] ... | [INFO] [stderr] 86 | | MetricIngester { config, socket, worker_senders } [INFO] [stderr] 87 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 63 | impl Default for MetricIngester { [INFO] [stderr] 64 | fn default() -> Self { [INFO] [stderr] 65 | Self::new() [INFO] [stderr] 66 | } [INFO] [stderr] 67 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:90:37 [INFO] [stderr] | [INFO] [stderr] 90 | (hash(stat_name.as_ref()) % self.config.worker_count as u64) as usize [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.config.worker_count)` [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] Finished dev [unoptimized + debuginfo] target(s) in 12.41s [INFO] running `"docker" "inspect" "96f586898d2ed181acaa1971f0a8ea102b12d252dc8b33f4f2d678da0ad4e52e"` [INFO] running `"docker" "rm" "-f" "96f586898d2ed181acaa1971f0a8ea102b12d252dc8b33f4f2d678da0ad4e52e"` [INFO] [stdout] 96f586898d2ed181acaa1971f0a8ea102b12d252dc8b33f4f2d678da0ad4e52e