[INFO] updating cached repository enizor/synacor-challenge [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/enizor/synacor-challenge [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/enizor/synacor-challenge" "work/ex/clippy-test-run/sources/stable/gh/enizor/synacor-challenge"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/enizor/synacor-challenge'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/enizor/synacor-challenge" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/enizor/synacor-challenge"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/enizor/synacor-challenge'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9bb642c9d39a0518a5e93e62b753ef46521098b3 [INFO] sha for GitHub repo enizor/synacor-challenge: 9bb642c9d39a0518a5e93e62b753ef46521098b3 [INFO] validating manifest of enizor/synacor-challenge 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 enizor/synacor-challenge 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 enizor/synacor-challenge [INFO] finished frobbing enizor/synacor-challenge [INFO] frobbed toml for enizor/synacor-challenge written to work/ex/clippy-test-run/sources/stable/gh/enizor/synacor-challenge/Cargo.toml [INFO] started frobbing enizor/synacor-challenge [INFO] finished frobbing enizor/synacor-challenge [INFO] frobbed toml for enizor/synacor-challenge written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/enizor/synacor-challenge/Cargo.toml [INFO] crate enizor/synacor-challenge 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 enizor/synacor-challenge against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/enizor/synacor-challenge:/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] 218bec4b4db1815791ad6daf81153fe39e7a066a80c0ef44da78339c21ee3def [INFO] running `"docker" "start" "-a" "218bec4b4db1815791ad6daf81153fe39e7a066a80c0ef44da78339c21ee3def"` [INFO] [stderr] Checking synacor-challenge v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:15:37 [INFO] [stderr] | [INFO] [stderr] 15 | self.memory[pos] += (byte.expect("error reading file") as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(byte.expect("error reading file"))` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:19:36 [INFO] [stderr] | [INFO] [stderr] 19 | self.memory[pos] = byte.expect("error reading file") as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(byte.expect("error reading file"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `map_or(None, f)` on an Option value. This can be done more directly by calling `and_then(f)` instead [INFO] [stderr] --> src/vm.rs:133:19 [INFO] [stderr] | [INFO] [stderr] 133 | 18 => self.stack.pop().map_or(None, |x| Some(x as usize)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try using and_then instead: `self.stack.pop().and_then(|x| Some(x as usize))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_or_none)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_or_none [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:143:62 [INFO] [stderr] | [INFO] [stderr] 143 | self.memory[self.memory[pos + 1] as usize] = input[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(input[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/vm.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | / loop { [INFO] [stderr] 153 | | match self.exec(pos) { [INFO] [stderr] 154 | | Some(n) => pos = n, [INFO] [stderr] 155 | | None => break, [INFO] [stderr] 156 | | } [INFO] [stderr] 157 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(n) = self.exec(pos) { .. }` [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: manual implementation of an assign operation [INFO] [stderr] --> src/bin/coin.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | n = n/(5-i+1); [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `n /= (5-i+1)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:15:37 [INFO] [stderr] | [INFO] [stderr] 15 | self.memory[pos] += (byte.expect("error reading file") as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(byte.expect("error reading file"))` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:19:36 [INFO] [stderr] | [INFO] [stderr] 19 | self.memory[pos] = byte.expect("error reading file") as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(byte.expect("error reading file"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `map_or(None, f)` on an Option value. This can be done more directly by calling `and_then(f)` instead [INFO] [stderr] --> src/vm.rs:133:19 [INFO] [stderr] | [INFO] [stderr] 133 | 18 => self.stack.pop().map_or(None, |x| Some(x as usize)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try using and_then instead: `self.stack.pop().and_then(|x| Some(x as usize))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_or_none)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_or_none [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:143:62 [INFO] [stderr] | [INFO] [stderr] 143 | self.memory[self.memory[pos + 1] as usize] = input[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(input[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/vm.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | / loop { [INFO] [stderr] 153 | | match self.exec(pos) { [INFO] [stderr] 154 | | Some(n) => pos = n, [INFO] [stderr] 155 | | None => break, [INFO] [stderr] 156 | | } [INFO] [stderr] 157 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(n) = self.exec(pos) { .. }` [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: manual implementation of an assign operation [INFO] [stderr] --> src/bin/coin.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | n = n/(5-i+1); [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `n /= (5-i+1)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.30s [INFO] running `"docker" "inspect" "218bec4b4db1815791ad6daf81153fe39e7a066a80c0ef44da78339c21ee3def"` [INFO] running `"docker" "rm" "-f" "218bec4b4db1815791ad6daf81153fe39e7a066a80c0ef44da78339c21ee3def"` [INFO] [stdout] 218bec4b4db1815791ad6daf81153fe39e7a066a80c0ef44da78339c21ee3def