[INFO] updating cached repository melvinw/rust-bpf [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/melvinw/rust-bpf [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/melvinw/rust-bpf" "work/ex/clippy-test-run/sources/stable/gh/melvinw/rust-bpf"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/melvinw/rust-bpf'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/melvinw/rust-bpf" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/melvinw/rust-bpf"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/melvinw/rust-bpf'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 673b26301563759f232e9665febd00ee3db75089 [INFO] sha for GitHub repo melvinw/rust-bpf: 673b26301563759f232e9665febd00ee3db75089 [INFO] validating manifest of melvinw/rust-bpf 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 melvinw/rust-bpf 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 melvinw/rust-bpf [INFO] finished frobbing melvinw/rust-bpf [INFO] frobbed toml for melvinw/rust-bpf written to work/ex/clippy-test-run/sources/stable/gh/melvinw/rust-bpf/Cargo.toml [INFO] started frobbing melvinw/rust-bpf [INFO] finished frobbing melvinw/rust-bpf [INFO] frobbed toml for melvinw/rust-bpf written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/melvinw/rust-bpf/Cargo.toml [INFO] crate melvinw/rust-bpf 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 melvinw/rust-bpf against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/melvinw/rust-bpf:/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 -Dclippy::into_iter_on_array" "-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] 09e62f1e07de6712a932fecfe2413b113043330958bf3f202a70e14efd5ec31f [INFO] running `"docker" "start" "-a" "09e62f1e07de6712a932fecfe2413b113043330958bf3f202a70e14efd5ec31f"` [INFO] [stderr] Checking libc v0.2.32 [INFO] [stderr] Checking thread_local v0.3.4 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking aho-corasick v0.6.3 [INFO] [stderr] Checking regex v0.2.2 [INFO] [stderr] Checking rust_bpf v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:178:7 [INFO] [stderr] | [INFO] [stderr] 178 | opcode: opcode, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `opcode` [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:179:7 [INFO] [stderr] | [INFO] [stderr] 179 | jt: jt, [INFO] [stderr] | ^^^^^^ help: replace it with: `jt` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:180:7 [INFO] [stderr] | [INFO] [stderr] 180 | jf: jf, [INFO] [stderr] | ^^^^^^ help: replace it with: `jf` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:181:7 [INFO] [stderr] | [INFO] [stderr] 181 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:211:7 [INFO] [stderr] | [INFO] [stderr] 211 | opcode: opcode, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `opcode` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:212:7 [INFO] [stderr] | [INFO] [stderr] 212 | jt: jt, [INFO] [stderr] | ^^^^^^ help: replace it with: `jt` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:213:7 [INFO] [stderr] | [INFO] [stderr] 213 | jf: jf, [INFO] [stderr] | ^^^^^^ help: replace it with: `jf` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:214:7 [INFO] [stderr] | [INFO] [stderr] 214 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:178:7 [INFO] [stderr] | [INFO] [stderr] 178 | opcode: opcode, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `opcode` [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:179:7 [INFO] [stderr] | [INFO] [stderr] 179 | jt: jt, [INFO] [stderr] | ^^^^^^ help: replace it with: `jt` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:180:7 [INFO] [stderr] | [INFO] [stderr] 180 | jf: jf, [INFO] [stderr] | ^^^^^^ help: replace it with: `jf` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:181:7 [INFO] [stderr] | [INFO] [stderr] 181 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:211:7 [INFO] [stderr] | [INFO] [stderr] 211 | opcode: opcode, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `opcode` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:212:7 [INFO] [stderr] | [INFO] [stderr] 212 | jt: jt, [INFO] [stderr] | ^^^^^^ help: replace it with: `jt` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:213:7 [INFO] [stderr] | [INFO] [stderr] 213 | jf: jf, [INFO] [stderr] | ^^^^^^ help: replace it with: `jf` [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/common/instruction.rs:214:7 [INFO] [stderr] | [INFO] [stderr] 214 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:226:16 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn class(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:232:15 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn size(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:238:15 [INFO] [stderr] | [INFO] [stderr] 238 | pub fn mode(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | pub fn op(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:250:14 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn src(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:256:15 [INFO] [stderr] | [INFO] [stderr] 256 | pub fn rval(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:262:17 [INFO] [stderr] | [INFO] [stderr] 262 | pub fn miscop(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:226:16 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn class(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:232:15 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn size(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:238:15 [INFO] [stderr] | [INFO] [stderr] 238 | pub fn mode(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | pub fn op(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:250:14 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn src(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:256:15 [INFO] [stderr] | [INFO] [stderr] 256 | pub fn rval(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/common/instruction.rs:262:17 [INFO] [stderr] | [INFO] [stderr] 262 | pub fn miscop(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: unused import: `NativeEndian` [INFO] [stderr] --> src/vm/machine.rs:8:34 [INFO] [stderr] | [INFO] [stderr] 8 | use self::byteorder::{BigEndian, NativeEndian, ReadBytesExt}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:174:45 [INFO] [stderr] | [INFO] [stderr] 174 | let val = self.memory[k as usize] & 0x0000FFFF; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:190:45 [INFO] [stderr] | [INFO] [stderr] 190 | let val = self.memory[k as usize] & 0x000000FF; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `NativeEndian` [INFO] [stderr] --> src/vm/machine.rs:8:34 [INFO] [stderr] | [INFO] [stderr] 8 | use self::byteorder::{BigEndian, NativeEndian, ReadBytesExt}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:174:45 [INFO] [stderr] | [INFO] [stderr] 174 | let val = self.memory[k as usize] & 0x0000FFFF; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_FFFF` [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: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:190:45 [INFO] [stderr] | [INFO] [stderr] 190 | let val = self.memory[k as usize] & 0x000000FF; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00FF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:407:70 [INFO] [stderr] | [INFO] [stderr] 407 | let instr = Instruction::new(CLASS_LD | MODE_IMM | SIZE_W, 0, 0, 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:411:33 [INFO] [stderr] | [INFO] [stderr] 411 | assert!(pm.accumulator() == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:425:33 [INFO] [stderr] | [INFO] [stderr] 425 | assert!(pm.accumulator() == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:432:22 [INFO] [stderr] | [INFO] [stderr] 432 | pm.set_memory(5, 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:436:33 [INFO] [stderr] | [INFO] [stderr] 436 | assert!(pm.accumulator() == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:457:22 [INFO] [stderr] | [INFO] [stderr] 457 | pm.set_memory(5, 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:482:22 [INFO] [stderr] | [INFO] [stderr] 482 | pm.set_memory(5, 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:501:33 [INFO] [stderr] | [INFO] [stderr] 501 | assert!(pm.accumulator() == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:560:24 [INFO] [stderr] | [INFO] [stderr] 560 | pm.set_accumulator(0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:563:31 [INFO] [stderr] | [INFO] [stderr] 563 | assert!(pm.memory()[8] == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:571:18 [INFO] [stderr] | [INFO] [stderr] 571 | pm.set_index(0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:574:31 [INFO] [stderr] | [INFO] [stderr] 574 | assert!(pm.memory()[8] == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:582:18 [INFO] [stderr] | [INFO] [stderr] 582 | pm.set_index(0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:585:33 [INFO] [stderr] | [INFO] [stderr] 585 | assert!(pm.accumulator() == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:593:24 [INFO] [stderr] | [INFO] [stderr] 593 | pm.set_accumulator(0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:596:27 [INFO] [stderr] | [INFO] [stderr] 596 | assert!(pm.index() == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:604:24 [INFO] [stderr] | [INFO] [stderr] 604 | pm.set_accumulator(0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:606:38 [INFO] [stderr] | [INFO] [stderr] 606 | assert!(ret.unwrap().unwrap() == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:612:60 [INFO] [stderr] | [INFO] [stderr] 612 | let instr = Instruction::new(CLASS_RET | RVAL_K, 0, 0, 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vm/machine.rs:615:38 [INFO] [stderr] | [INFO] [stderr] 615 | assert!(ret.unwrap().unwrap() == 0xDEADBEEF); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xDEAD_BEEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/vm/machine.rs:120:8 [INFO] [stderr] | [INFO] [stderr] 120 | Ok(ret.unwrap() as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(ret.unwrap())` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/vm/machine.rs:129:8 [INFO] [stderr] | [INFO] [stderr] 129 | Ok(buf[offset as usize] as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(buf[offset as usize])` [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/vm/machine.rs:135:36 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn execute(&mut self, instr: &Instruction, pkt: &[u8]) -> Result, ()> { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Instruction` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/vm/machine.rs:202:28 [INFO] [stderr] | [INFO] [stderr] 202 | self.index = 4 * (pkt[k as usize] & 0x0F) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(pkt[k as usize] & 0x0F)` [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/machine.rs:358:11 [INFO] [stderr] | [INFO] [stderr] 358 | instr.jt as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(instr.jt)` [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/machine.rs:360:11 [INFO] [stderr] | [INFO] [stderr] 360 | instr.jf as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(instr.jf)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/vm/machine.rs:377:11 [INFO] [stderr] | [INFO] [stderr] 377 | let ref instr = prog[self.frame as usize]; [INFO] [stderr] | ----^^^^^^^^^----------------------------- help: try: `let instr = &prog[self.frame as usize];` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const machine::rust_bpf::common::instruction::Instruction`) [INFO] [stderr] --> src/vm/machine.rs:395:49 [INFO] [stderr] | [INFO] [stderr] 395 | let instrs = unsafe { slice::from_raw_parts(prog.as_ptr() as *const Instruction, prog.len() / 8) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust_bpf`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused variable: `instructions` [INFO] [stderr] --> src/assembler/main.rs:146:11 [INFO] [stderr] | [INFO] [stderr] 146 | let mut instructions: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using `_instructions` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `op` [INFO] [stderr] --> src/assembler/main.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | let op = instr.op.unwrap(); [INFO] [stderr] | ^^ help: consider using `_op` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instructions` [INFO] [stderr] --> src/assembler/main.rs:146:11 [INFO] [stderr] | [INFO] [stderr] 146 | let mut instructions: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using `_instructions` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `op` [INFO] [stderr] --> src/assembler/main.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | let op = instr.op.unwrap(); [INFO] [stderr] | ^^ help: consider using `_op` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/assembler/main.rs:146:7 [INFO] [stderr] | [INFO] [stderr] 146 | let mut instructions: Vec = Vec::new(); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PacketNibble` [INFO] [stderr] --> src/assembler/main.rs:85:3 [INFO] [stderr] | [INFO] [stderr] 85 | PacketNibble(u32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `JumpLabel` [INFO] [stderr] --> src/assembler/main.rs:86:3 [INFO] [stderr] | [INFO] [stderr] 86 | JumpLabel(&'a str), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TwoBranch` [INFO] [stderr] --> src/assembler/main.rs:87:3 [INFO] [stderr] | [INFO] [stderr] 87 | TwoBranch(&'a str, &'a str), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OneBranch` [INFO] [stderr] --> src/assembler/main.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | OneBranch(&'a str), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/vm/machine.rs:120:8 [INFO] [stderr] | [INFO] [stderr] 120 | Ok(ret.unwrap() as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(ret.unwrap())` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/vm/machine.rs:129:8 [INFO] [stderr] | [INFO] [stderr] 129 | Ok(buf[offset as usize] as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(buf[offset as usize])` [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/vm/machine.rs:135:36 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn execute(&mut self, instr: &Instruction, pkt: &[u8]) -> Result, ()> { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Instruction` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/vm/machine.rs:202:28 [INFO] [stderr] | [INFO] [stderr] 202 | self.index = 4 * (pkt[k as usize] & 0x0F) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(pkt[k as usize] & 0x0F)` [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/machine.rs:358:11 [INFO] [stderr] | [INFO] [stderr] 358 | instr.jt as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(instr.jt)` [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/machine.rs:360:11 [INFO] [stderr] | [INFO] [stderr] 360 | instr.jf as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(instr.jf)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/vm/machine.rs:377:11 [INFO] [stderr] | [INFO] [stderr] 377 | let ref instr = prog[self.frame as usize]; [INFO] [stderr] | ----^^^^^^^^^----------------------------- help: try: `let instr = &prog[self.frame as usize];` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const machine::rust_bpf::common::instruction::Instruction`) [INFO] [stderr] --> src/vm/machine.rs:395:49 [INFO] [stderr] | [INFO] [stderr] 395 | let instrs = unsafe { slice::from_raw_parts(prog.as_ptr() as *const Instruction, prog.len() / 8) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/assembler/main.rs:148:41 [INFO] [stderr] | [INFO] [stderr] 148 | for line in prog_str.split_terminator("\n") { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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: variable does not need to be mutable [INFO] [stderr] --> src/assembler/main.rs:146:7 [INFO] [stderr] | [INFO] [stderr] 146 | let mut instructions: Vec = Vec::new(); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PacketNibble` [INFO] [stderr] --> src/assembler/main.rs:85:3 [INFO] [stderr] | [INFO] [stderr] 85 | PacketNibble(u32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `JumpLabel` [INFO] [stderr] --> src/assembler/main.rs:86:3 [INFO] [stderr] | [INFO] [stderr] 86 | JumpLabel(&'a str), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TwoBranch` [INFO] [stderr] --> src/assembler/main.rs:87:3 [INFO] [stderr] | [INFO] [stderr] 87 | TwoBranch(&'a str, &'a str), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OneBranch` [INFO] [stderr] --> src/assembler/main.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | OneBranch(&'a str), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust_bpf`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/assembler/main.rs:148:41 [INFO] [stderr] | [INFO] [stderr] 148 | for line in prog_str.split_terminator("\n") { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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] error: build failed [INFO] running `"docker" "inspect" "09e62f1e07de6712a932fecfe2413b113043330958bf3f202a70e14efd5ec31f"` [INFO] running `"docker" "rm" "-f" "09e62f1e07de6712a932fecfe2413b113043330958bf3f202a70e14efd5ec31f"` [INFO] [stdout] 09e62f1e07de6712a932fecfe2413b113043330958bf3f202a70e14efd5ec31f