[INFO] updating cached repository endeav0r/skua [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/endeav0r/skua [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/endeav0r/skua" "work/ex/clippy-test-run/sources/stable/gh/endeav0r/skua"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/endeav0r/skua'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/endeav0r/skua" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/endeav0r/skua"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/endeav0r/skua'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6e5ea91902b02acc9939085f7fbc80bc9b9480ee [INFO] sha for GitHub repo endeav0r/skua: 6e5ea91902b02acc9939085f7fbc80bc9b9480ee [INFO] validating manifest of endeav0r/skua 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 endeav0r/skua 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 endeav0r/skua [INFO] finished frobbing endeav0r/skua [INFO] frobbed toml for endeav0r/skua written to work/ex/clippy-test-run/sources/stable/gh/endeav0r/skua/Cargo.toml [INFO] started frobbing endeav0r/skua [INFO] finished frobbing endeav0r/skua [INFO] frobbed toml for endeav0r/skua written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/endeav0r/skua/Cargo.toml [INFO] crate endeav0r/skua 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 endeav0r/skua against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/endeav0r/skua:/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] 48ed98f3cee4da7e17edf40ae512b6fe2d8b677af728b9980fb5adce70efcad1 [INFO] running `"docker" "start" "-a" "48ed98f3cee4da7e17edf40ae512b6fe2d8b677af728b9980fb5adce70efcad1"` [INFO] [stderr] Checking plain v0.2.3 [INFO] [stderr] Compiling scroll v0.9.2 [INFO] [stderr] Compiling syn v0.15.6 [INFO] [stderr] Compiling scroll_derive v0.9.5 [INFO] [stderr] Checking goblin v0.0.17 [INFO] [stderr] Checking skua v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> lib/leak/elf/dynamic.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/dynamic.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/ehdr.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/link_map.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/link_map.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/phdr.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/phdr.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/shdr.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/shdr.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/sym.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/sym.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/mod.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/program.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/program.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | elfs: elfs [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `elfs` [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] --> lib/leak/elf/dynamic.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/dynamic.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/ehdr.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/link_map.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/link_map.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/phdr.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/phdr.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/shdr.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/shdr.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/sym.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/elf/sym.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | class: class, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `class` [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] --> lib/leak/elf/mod.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/program.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | leaker: leaker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `leaker` [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] --> lib/leak/program.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | elfs: elfs [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `elfs` [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: digit groups should be smaller [INFO] [stderr] --> lib/leak/elf/mod.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | address = address & 0xffffffff_fffff000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_ffff_f000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> lib/leak/elf/mod.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | address = address & 0xffffffff_fffff000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_ffff_f000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/elf/mod.rs:49:50 [INFO] [stderr] | [INFO] [stderr] 49 | 1 => leaker.leak_u8(address).map(|v| v as u64), [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(v)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/elf/mod.rs:50:51 [INFO] [stderr] | [INFO] [stderr] 50 | 2 => leaker.leak_u16(address).map(|v| v as u64), [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(v)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/elf/mod.rs:51:51 [INFO] [stderr] | [INFO] [stderr] 51 | 4 => leaker.leak_u32(address).map(|v| v as u64), [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(v)` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/elf/mod.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | address = address & 0xffffffff_fffff000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `address &= 0xffffffff_fffff000` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/elf/mod.rs:237:25 [INFO] [stderr] | [INFO] [stderr] 237 | for i in 0..(nchain as u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(nchain)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/elf/mod.rs:49:50 [INFO] [stderr] | [INFO] [stderr] 49 | 1 => leaker.leak_u8(address).map(|v| v as u64), [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(v)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/elf/mod.rs:50:51 [INFO] [stderr] | [INFO] [stderr] 50 | 2 => leaker.leak_u16(address).map(|v| v as u64), [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(v)` [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] --> lib/leak/leaker.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | let hi = self.leak_u8(address + 0)? as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.leak_u8(address + 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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/elf/mod.rs:51:51 [INFO] [stderr] | [INFO] [stderr] 51 | 4 => leaker.leak_u32(address).map(|v| v as u64), [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(v)` [INFO] [stderr] | [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] --> lib/leak/leaker.rs:11:39 [INFO] [stderr] | [INFO] [stderr] 11 | let hi = self.leak_u8(address + 0)? as u16; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let lo = self.leak_u8(address + 1)? as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.leak_u8(address + 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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | let hi = self.leak_u8(address + 1)? as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.leak_u8(address + 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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:17:26 [INFO] [stderr] | [INFO] [stderr] 17 | let lo = self.leak_u8(address + 0)? as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.leak_u8(address + 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: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> lib/leak/leaker.rs:17:39 [INFO] [stderr] | [INFO] [stderr] 17 | let lo = self.leak_u8(address + 0)? as u16; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> lib/leak/leaker.rs:28:26 [INFO] [stderr] | [INFO] [stderr] 28 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 28 | for (i, ) in bytes.iter().enumerate().take(4) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | let byte: u32 = bytes[i] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/leaker.rs:30:21 [INFO] [stderr] | [INFO] [stderr] 30 | value = value | (byte << (8 * (3 - i))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value |= (byte << (8 * (3 - i)))` [INFO] [stderr] | [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: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> lib/leak/leaker.rs:36:26 [INFO] [stderr] | [INFO] [stderr] 36 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 36 | for (i, ) in bytes.iter().enumerate().take(4) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:37:37 [INFO] [stderr] | [INFO] [stderr] 37 | let byte: u32 = bytes[i] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/leaker.rs:38:21 [INFO] [stderr] | [INFO] [stderr] 38 | value = value | (byte << (8 * (i))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value |= (byte << (8 * (i)))` [INFO] [stderr] | [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: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> lib/leak/leaker.rs:50:26 [INFO] [stderr] | [INFO] [stderr] 50 | for i in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 50 | for (i, ) in bytes.iter().enumerate().take(8) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/elf/mod.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | address = address & 0xffffffff_fffff000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `address &= 0xffffffff_fffff000` [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 u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:51:37 [INFO] [stderr] | [INFO] [stderr] 51 | let byte: u64 = bytes[i] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/leaker.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | value = value | (byte << (8 * (7 - i))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value |= (byte << (8 * (7 - i)))` [INFO] [stderr] | [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: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> lib/leak/leaker.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | for i in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 58 | for (i, ) in bytes.iter().enumerate().take(8) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:59:37 [INFO] [stderr] | [INFO] [stderr] 59 | let byte: u64 = bytes[i] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/leaker.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | value = value | (byte << (8 * (i))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value |= (byte << (8 * (i)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> lib/stream.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | self.stream.borrow_mut().read(&mut buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/elf/mod.rs:237:25 [INFO] [stderr] | [INFO] [stderr] 237 | for i in 0..(nchain as u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(nchain)` [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] --> lib/leak/leaker.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | let hi = self.leak_u8(address + 0)? as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.leak_u8(address + 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: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> lib/leak/leaker.rs:11:39 [INFO] [stderr] | [INFO] [stderr] 11 | let hi = self.leak_u8(address + 0)? as u16; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | let lo = self.leak_u8(address + 1)? as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.leak_u8(address + 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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | let hi = self.leak_u8(address + 1)? as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.leak_u8(address + 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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:17:26 [INFO] [stderr] | [INFO] [stderr] 17 | let lo = self.leak_u8(address + 0)? as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.leak_u8(address + 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: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> lib/leak/leaker.rs:17:39 [INFO] [stderr] | [INFO] [stderr] 17 | let lo = self.leak_u8(address + 0)? as u16; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> lib/leak/leaker.rs:28:26 [INFO] [stderr] | [INFO] [stderr] 28 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 28 | for (i, ) in bytes.iter().enumerate().take(4) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | let byte: u32 = bytes[i] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/leaker.rs:30:21 [INFO] [stderr] | [INFO] [stderr] 30 | value = value | (byte << (8 * (3 - i))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value |= (byte << (8 * (3 - i)))` [INFO] [stderr] | [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: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> lib/leak/leaker.rs:36:26 [INFO] [stderr] | [INFO] [stderr] 36 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 36 | for (i, ) in bytes.iter().enumerate().take(4) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:37:37 [INFO] [stderr] | [INFO] [stderr] 37 | let byte: u32 = bytes[i] as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/leaker.rs:38:21 [INFO] [stderr] | [INFO] [stderr] 38 | value = value | (byte << (8 * (i))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value |= (byte << (8 * (i)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> lib/leak/leaker.rs:50:26 [INFO] [stderr] | [INFO] [stderr] 50 | for i in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 50 | for (i, ) in bytes.iter().enumerate().take(8) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:51:37 [INFO] [stderr] | [INFO] [stderr] 51 | let byte: u64 = bytes[i] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/leaker.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | value = value | (byte << (8 * (7 - i))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value |= (byte << (8 * (7 - i)))` [INFO] [stderr] | [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: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> lib/leak/leaker.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | for i in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 58 | for (i, ) in bytes.iter().enumerate().take(8) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> lib/leak/leaker.rs:59:37 [INFO] [stderr] | [INFO] [stderr] 59 | let byte: u64 = bytes[i] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [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: manual implementation of an assign operation [INFO] [stderr] --> lib/leak/leaker.rs:60:21 [INFO] [stderr] | [INFO] [stderr] 60 | value = value | (byte << (8 * (i))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value |= (byte << (8 * (i)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: Could not compile `skua`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> lib/stream.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | self.stream.borrow_mut().read(&mut buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `skua`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "48ed98f3cee4da7e17edf40ae512b6fe2d8b677af728b9980fb5adce70efcad1"` [INFO] running `"docker" "rm" "-f" "48ed98f3cee4da7e17edf40ae512b6fe2d8b677af728b9980fb5adce70efcad1"` [INFO] [stdout] 48ed98f3cee4da7e17edf40ae512b6fe2d8b677af728b9980fb5adce70efcad1