[INFO] updating cached repository Krelix/rust_vm_tutorial [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Krelix/rust_vm_tutorial [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Krelix/rust_vm_tutorial" "work/ex/clippy-test-run/sources/stable/gh/Krelix/rust_vm_tutorial"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Krelix/rust_vm_tutorial'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Krelix/rust_vm_tutorial" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Krelix/rust_vm_tutorial"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Krelix/rust_vm_tutorial'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6ac69ddb70fa130b142c83f18e6339d8eb23e122 [INFO] sha for GitHub repo Krelix/rust_vm_tutorial: 6ac69ddb70fa130b142c83f18e6339d8eb23e122 [INFO] validating manifest of Krelix/rust_vm_tutorial 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 Krelix/rust_vm_tutorial 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 Krelix/rust_vm_tutorial [INFO] finished frobbing Krelix/rust_vm_tutorial [INFO] frobbed toml for Krelix/rust_vm_tutorial written to work/ex/clippy-test-run/sources/stable/gh/Krelix/rust_vm_tutorial/Cargo.toml [INFO] started frobbing Krelix/rust_vm_tutorial [INFO] finished frobbing Krelix/rust_vm_tutorial [INFO] frobbed toml for Krelix/rust_vm_tutorial written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Krelix/rust_vm_tutorial/Cargo.toml [INFO] crate Krelix/rust_vm_tutorial 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 Krelix/rust_vm_tutorial against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/Krelix/rust_vm_tutorial:/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] 155d38b67aace660ce02c1f73bbe81ba2c169987a197db8c3bb92342baeb2a49 [INFO] running `"docker" "start" "-a" "155d38b67aace660ce02c1f73bbe81ba2c169987a197db8c3bb92342baeb2a49"` [INFO] [stderr] Checking memchr v2.1.0 [INFO] [stderr] Checking nom v4.0.0 [INFO] [stderr] Checking rust_vm v0.1.0 (/opt/crater/workdir) [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/main.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | #![warn(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/main.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | #![warn(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/main.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | #![warn(clippy)] [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::all` [INFO] [stderr] [INFO] [stderr] warning: unused import: `vm::VM` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use vm::VM; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] 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/main.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | #![warn(clippy)] [INFO] [stderr] | ^^^^^^ help: change it to: `clippy::all` [INFO] [stderr] [INFO] [stderr] warning: unused import: `vm::VM` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use vm::VM; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `opcode` [INFO] [stderr] --> src/instruction.rs:85:3 [INFO] [stderr] | [INFO] [stderr] 85 | opcode: OpCode [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:53:45 [INFO] [stderr] | [INFO] [stderr] 53 | self.registers[register as usize] = number as i32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(number)` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/main.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | #![warn(clippy)] [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] implied by #[warn(clippy::all)] [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:61:55 [INFO] [stderr] | [INFO] [stderr] 61 | self.registers[self.next_8_bits() as usize] = reg1 as i32 + reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg1)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:61:69 [INFO] [stderr] | [INFO] [stderr] 61 | self.registers[self.next_8_bits() as usize] = reg1 as i32 + reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg2)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:66:55 [INFO] [stderr] | [INFO] [stderr] 66 | self.registers[self.next_8_bits() as usize] = reg1 as i32 - reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg1)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:66:69 [INFO] [stderr] | [INFO] [stderr] 66 | self.registers[self.next_8_bits() as usize] = reg1 as i32 - reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg2)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:71:55 [INFO] [stderr] | [INFO] [stderr] 71 | self.registers[self.next_8_bits() as usize] = reg1 as i32 * reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg1)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:71:69 [INFO] [stderr] | [INFO] [stderr] 71 | self.registers[self.next_8_bits() as usize] = reg1 as i32 * reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg2)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:77:55 [INFO] [stderr] | [INFO] [stderr] 77 | self.registers[self.next_8_bits() as usize] = reg1 as i32 / reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg1)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:77:69 [INFO] [stderr] | [INFO] [stderr] 77 | self.registers[self.next_8_bits() as usize] = reg1 as i32 / reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg2)` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:79:26 [INFO] [stderr] | [INFO] [stderr] 79 | self.remainder = (reg1 % reg2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reg1 % reg2)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:185:19 [INFO] [stderr] | [INFO] [stderr] 185 | let result = ((self.program[self.pc] as u16) << 8) | (self.program[self.pc + 1]) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.program[self.pc])` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:185:58 [INFO] [stderr] | [INFO] [stderr] 185 | let result = ((self.program[self.pc] as u16) << 8) | (self.program[self.pc + 1]) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from((self.program[self.pc + 1]))` [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: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:53:45 [INFO] [stderr] | [INFO] [stderr] 53 | self.registers[register as usize] = number as i32; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(number)` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/main.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | #![warn(clippy)] [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] implied by #[warn(clippy::all)] [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:61:55 [INFO] [stderr] | [INFO] [stderr] 61 | self.registers[self.next_8_bits() as usize] = reg1 as i32 + reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg1)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:61:69 [INFO] [stderr] | [INFO] [stderr] 61 | self.registers[self.next_8_bits() as usize] = reg1 as i32 + reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg2)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:66:55 [INFO] [stderr] | [INFO] [stderr] 66 | self.registers[self.next_8_bits() as usize] = reg1 as i32 - reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg1)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:66:69 [INFO] [stderr] | [INFO] [stderr] 66 | self.registers[self.next_8_bits() as usize] = reg1 as i32 - reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg2)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:71:55 [INFO] [stderr] | [INFO] [stderr] 71 | self.registers[self.next_8_bits() as usize] = reg1 as i32 * reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg1)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:71:69 [INFO] [stderr] | [INFO] [stderr] 71 | self.registers[self.next_8_bits() as usize] = reg1 as i32 * reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg2)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:77:55 [INFO] [stderr] | [INFO] [stderr] 77 | self.registers[self.next_8_bits() as usize] = reg1 as i32 / reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg1)` [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:77:69 [INFO] [stderr] | [INFO] [stderr] 77 | self.registers[self.next_8_bits() as usize] = reg1 as i32 / reg2 as i32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i32::from(reg2)` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:79:26 [INFO] [stderr] | [INFO] [stderr] 79 | self.remainder = (reg1 % reg2) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reg1 % reg2)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:185:19 [INFO] [stderr] | [INFO] [stderr] 185 | let result = ((self.program[self.pc] as u16) << 8) | (self.program[self.pc + 1]) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.program[self.pc])` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:185:58 [INFO] [stderr] | [INFO] [stderr] 185 | let result = ((self.program[self.pc] as u16) << 8) | (self.program[self.pc + 1]) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from((self.program[self.pc + 1]))` [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] Finished dev [unoptimized + debuginfo] target(s) in 6.39s [INFO] running `"docker" "inspect" "155d38b67aace660ce02c1f73bbe81ba2c169987a197db8c3bb92342baeb2a49"` [INFO] running `"docker" "rm" "-f" "155d38b67aace660ce02c1f73bbe81ba2c169987a197db8c3bb92342baeb2a49"` [INFO] [stdout] 155d38b67aace660ce02c1f73bbe81ba2c169987a197db8c3bb92342baeb2a49