[INFO] updating cached repository w-k-s/GifDecoder [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/w-k-s/GifDecoder [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/w-k-s/GifDecoder" "work/ex/clippy-test-run/sources/stable/gh/w-k-s/GifDecoder"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/w-k-s/GifDecoder'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/w-k-s/GifDecoder" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/w-k-s/GifDecoder"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/w-k-s/GifDecoder'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3fc89b9ac84de97929caac79ee67e9e19c55bd92 [INFO] sha for GitHub repo w-k-s/GifDecoder: 3fc89b9ac84de97929caac79ee67e9e19c55bd92 [INFO] validating manifest of w-k-s/GifDecoder 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 w-k-s/GifDecoder 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 w-k-s/GifDecoder [INFO] finished frobbing w-k-s/GifDecoder [INFO] frobbed toml for w-k-s/GifDecoder written to work/ex/clippy-test-run/sources/stable/gh/w-k-s/GifDecoder/Cargo.toml [INFO] started frobbing w-k-s/GifDecoder [INFO] finished frobbing w-k-s/GifDecoder [INFO] frobbed toml for w-k-s/GifDecoder written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/w-k-s/GifDecoder/Cargo.toml [INFO] crate w-k-s/GifDecoder 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 w-k-s/GifDecoder against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/w-k-s/GifDecoder:/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] 67727bc2bee8f9b4657c7bd7ca83988ec6e5b59750a5f05c46f9373bd4a26d2f [INFO] running `"docker" "start" "-a" "67727bc2bee8f9b4657c7bd7ca83988ec6e5b59750a5f05c46f9373bd4a26d2f"` [INFO] [stderr] Checking gif v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/main.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | lsd: lsd, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lsd` [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/main.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | global_color_table: global_color_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `global_color_table` [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/main.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/main.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/main.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | has_global_color_table: has_global_color_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `has_global_color_table` [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/main.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | color_resolution: color_resolution, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `color_resolution` [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/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | is_global_color_table_sorted: is_global_color_table_sorted, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_global_color_table_sorted` [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/main.rs:130:13 [INFO] [stderr] | [INFO] [stderr] 130 | background_color_index: background_color_index, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background_color_index` [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/main.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | global_color_table_size: global_color_table_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `global_color_table_size` [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/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | pixel_aspect_ratio: pixel_aspect_ratio, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pixel_aspect_ratio` [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/main.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/main.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | lsd: lsd, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `lsd` [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/main.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | global_color_table: global_color_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `global_color_table` [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/main.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/main.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/main.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | has_global_color_table: has_global_color_table, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `has_global_color_table` [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/main.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | color_resolution: color_resolution, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `color_resolution` [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/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | is_global_color_table_sorted: is_global_color_table_sorted, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_global_color_table_sorted` [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/main.rs:130:13 [INFO] [stderr] | [INFO] [stderr] 130 | background_color_index: background_color_index, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background_color_index` [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/main.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | global_color_table_size: global_color_table_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `global_color_table_size` [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/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | pixel_aspect_ratio: pixel_aspect_ratio, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pixel_aspect_ratio` [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: unneeded return statement [INFO] [stderr] --> src/main.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | / return ((self.red as u32 & 0xff) << 16) + ((self.green as u32 & 0xff) << 8) [INFO] [stderr] 16 | | + (self.blue as u32 & 0xff); [INFO] [stderr] | |________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 15 | ((self.red as u32 & 0xff) << 16) + ((self.green as u32 & 0xff) << 8) [INFO] [stderr] 16 | + (self.blue as u32 & 0xff) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | / return ((self.red as u32 & 0xff) << 16) + ((self.green as u32 & 0xff) << 8) [INFO] [stderr] 16 | | + (self.blue as u32 & 0xff); [INFO] [stderr] | |________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 15 | ((self.red as u32 & 0xff) << 16) + ((self.green as u32 & 0xff) << 8) [INFO] [stderr] 16 | + (self.blue as u32 & 0xff) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | / return Ok(Gif { [INFO] [stderr] 85 | | version: version, [INFO] [stderr] 86 | | lsd: lsd, [INFO] [stderr] 87 | | global_color_table: global_color_table, [INFO] [stderr] 88 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 84 | Ok(Gif { [INFO] [stderr] 85 | version: version, [INFO] [stderr] 86 | lsd: lsd, [INFO] [stderr] 87 | global_color_table: global_color_table, [INFO] [stderr] 88 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/main.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | let width = ((bytes[1] as u16) * 1u16 << 8u16) + (bytes[0] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `((bytes[1] as u16) * 1u16) << 8u16` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/main.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | let height = ((bytes[3] as u16) * 1u16 << 8u16) + (bytes[2] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `((bytes[3] as u16) * 1u16) << 8u16` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:111:55 [INFO] [stderr] | [INFO] [stderr] 111 | let has_global_color_table = (packed_fields & 0b10000000) == 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/main.rs:111:70 [INFO] [stderr] | [INFO] [stderr] 111 | let has_global_color_table = (packed_fields & 0b10000000) == 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/main.rs:112:61 [INFO] [stderr] | [INFO] [stderr] 112 | let is_global_color_table_sorted = (packed_fields & 0b00001000) == 0b00001000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_1000` [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/main.rs:112:76 [INFO] [stderr] | [INFO] [stderr] 112 | let is_global_color_table_sorted = (packed_fields & 0b00001000) == 0b00001000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_1000` [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/main.rs:114:44 [INFO] [stderr] | [INFO] [stderr] 114 | let color_resolution = (bytes[4] & 0b01110000) + 1u8; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_0000` [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/main.rs:115:56 [INFO] [stderr] | [INFO] [stderr] 115 | let global_color_table_size = 3 * ((bytes[4] & 0b00000111) + 1u8).pow(2); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0111` [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: unneeded return statement [INFO] [stderr] --> src/main.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | / return Ok(Gif { [INFO] [stderr] 85 | | version: version, [INFO] [stderr] 86 | | lsd: lsd, [INFO] [stderr] 87 | | global_color_table: global_color_table, [INFO] [stderr] 88 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 84 | Ok(Gif { [INFO] [stderr] 85 | version: version, [INFO] [stderr] 86 | lsd: lsd, [INFO] [stderr] 87 | global_color_table: global_color_table, [INFO] [stderr] 88 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/main.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | let width = ((bytes[1] as u16) * 1u16 << 8u16) + (bytes[0] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `((bytes[1] as u16) * 1u16) << 8u16` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/main.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | let height = ((bytes[3] as u16) * 1u16 << 8u16) + (bytes[2] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `((bytes[3] as u16) * 1u16) << 8u16` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:111:55 [INFO] [stderr] | [INFO] [stderr] 111 | let has_global_color_table = (packed_fields & 0b10000000) == 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/main.rs:111:70 [INFO] [stderr] | [INFO] [stderr] 111 | let has_global_color_table = (packed_fields & 0b10000000) == 0b10000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/main.rs:112:61 [INFO] [stderr] | [INFO] [stderr] 112 | let is_global_color_table_sorted = (packed_fields & 0b00001000) == 0b00001000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_1000` [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/main.rs:112:76 [INFO] [stderr] | [INFO] [stderr] 112 | let is_global_color_table_sorted = (packed_fields & 0b00001000) == 0b00001000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_1000` [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/main.rs:114:44 [INFO] [stderr] | [INFO] [stderr] 114 | let color_resolution = (bytes[4] & 0b01110000) + 1u8; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_0000` [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/main.rs:115:56 [INFO] [stderr] | [INFO] [stderr] 115 | let global_color_table_size = 3 * ((bytes[4] & 0b00000111) + 1u8).pow(2); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0111` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:15:18 [INFO] [stderr] | [INFO] [stderr] 15 | return ((self.red as u32 & 0xff) << 16) + ((self.green as u32 & 0xff) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(self.red)` [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/main.rs:15:53 [INFO] [stderr] | [INFO] [stderr] 15 | return ((self.red as u32 & 0xff) << 16) + ((self.green as u32 & 0xff) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.green)` [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/main.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | + (self.blue as u32 & 0xff); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(self.blue)` [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: redundant closure found [INFO] [stderr] --> src/main.rs:62:42 [INFO] [stderr] | [INFO] [stderr] 62 | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `GifError::Io` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:67:42 [INFO] [stderr] | [INFO] [stderr] 67 | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `GifError::Io` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:71:34 [INFO] [stderr] | [INFO] [stderr] 71 | let global_color_table = match lsd.has_global_color_table { [INFO] [stderr] | __________________________________^ [INFO] [stderr] 72 | | true => { [INFO] [stderr] 73 | | let mut buffer = vec![0; lsd.global_color_table_size as usize]; [INFO] [stderr] 74 | | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] ... | [INFO] [stderr] 77 | | _ => None, [INFO] [stderr] 78 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 71 | let global_color_table = if lsd.has_global_color_table { [INFO] [stderr] 72 | let mut buffer = vec![0; lsd.global_color_table_size as usize]; [INFO] [stderr] 73 | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] 74 | Some(Gif::parse_global_color_table(&buffer)) [INFO] [stderr] 75 | } else { None }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:74:50 [INFO] [stderr] | [INFO] [stderr] 74 | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `GifError::Io` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:82:48 [INFO] [stderr] | [INFO] [stderr] 82 | try!(f.read_to_end(&mut bytes).map_err(|e| GifError::Io(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `GifError::Io` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:91:29 [INFO] [stderr] | [INFO] [stderr] 91 | fn parse_version(bytes: &[u8; 6]) -> Result { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 6]` [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/main.rs:105:16 [INFO] [stderr] | [INFO] [stderr] 105 | bytes: &[u8; 7], [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 7]` [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: the operation is ineffective. Consider reducing it to `(bytes[1] as u16)` [INFO] [stderr] --> src/main.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | let width = ((bytes[1] as u16) * 1u16 << 8u16) + (bytes[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] --> src/main.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | let width = ((bytes[1] as u16) * 1u16 << 8u16) + (bytes[0] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[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] --> src/main.rs:107:58 [INFO] [stderr] | [INFO] [stderr] 107 | let width = ((bytes[1] as u16) * 1u16 << 8u16) + (bytes[0] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[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 `(bytes[3] as u16)` [INFO] [stderr] --> src/main.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | let height = ((bytes[3] as u16) * 1u16 << 8u16) + (bytes[2] 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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | let height = ((bytes[3] as u16) * 1u16 << 8u16) + (bytes[2] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[3])` [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/main.rs:108:59 [INFO] [stderr] | [INFO] [stderr] 108 | let height = ((bytes[3] as u16) * 1u16 << 8u16) + (bytes[2] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[2])` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:117:38 [INFO] [stderr] | [INFO] [stderr] 117 | let background_color_index = match has_global_color_table { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 118 | | true => Some(bytes[5]), [INFO] [stderr] 119 | | _ => None, [INFO] [stderr] 120 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if has_global_color_table { Some(bytes[5]) } else { None }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:136:40 [INFO] [stderr] | [INFO] [stderr] 136 | fn parse_global_color_table(table: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:15:18 [INFO] [stderr] | [INFO] [stderr] 15 | return ((self.red as u32 & 0xff) << 16) + ((self.green as u32 & 0xff) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(self.red)` [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/main.rs:15:53 [INFO] [stderr] | [INFO] [stderr] 15 | return ((self.red as u32 & 0xff) << 16) + ((self.green as u32 & 0xff) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.green)` [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/main.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | + (self.blue as u32 & 0xff); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(self.blue)` [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: redundant closure found [INFO] [stderr] --> src/main.rs:62:42 [INFO] [stderr] | [INFO] [stderr] 62 | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `GifError::Io` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:67:42 [INFO] [stderr] | [INFO] [stderr] 67 | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `GifError::Io` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:71:34 [INFO] [stderr] | [INFO] [stderr] 71 | let global_color_table = match lsd.has_global_color_table { [INFO] [stderr] | __________________________________^ [INFO] [stderr] 72 | | true => { [INFO] [stderr] 73 | | let mut buffer = vec![0; lsd.global_color_table_size as usize]; [INFO] [stderr] 74 | | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] ... | [INFO] [stderr] 77 | | _ => None, [INFO] [stderr] 78 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 71 | let global_color_table = if lsd.has_global_color_table { [INFO] [stderr] 72 | let mut buffer = vec![0; lsd.global_color_table_size as usize]; [INFO] [stderr] 73 | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] 74 | Some(Gif::parse_global_color_table(&buffer)) [INFO] [stderr] 75 | } else { None }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:74:50 [INFO] [stderr] | [INFO] [stderr] 74 | try!(f.read(&mut buffer).map_err(|e| GifError::Io(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `GifError::Io` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:82:48 [INFO] [stderr] | [INFO] [stderr] 82 | try!(f.read_to_end(&mut bytes).map_err(|e| GifError::Io(e))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `GifError::Io` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:91:29 [INFO] [stderr] | [INFO] [stderr] 91 | fn parse_version(bytes: &[u8; 6]) -> Result { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 6]` [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/main.rs:105:16 [INFO] [stderr] | [INFO] [stderr] 105 | bytes: &[u8; 7], [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 7]` [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: the operation is ineffective. Consider reducing it to `(bytes[1] as u16)` [INFO] [stderr] --> src/main.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | let width = ((bytes[1] as u16) * 1u16 << 8u16) + (bytes[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] --> src/main.rs:107:22 [INFO] [stderr] | [INFO] [stderr] 107 | let width = ((bytes[1] as u16) * 1u16 << 8u16) + (bytes[0] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[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] --> src/main.rs:107:58 [INFO] [stderr] | [INFO] [stderr] 107 | let width = ((bytes[1] as u16) * 1u16 << 8u16) + (bytes[0] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[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 `(bytes[3] as u16)` [INFO] [stderr] --> src/main.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | let height = ((bytes[3] as u16) * 1u16 << 8u16) + (bytes[2] 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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | let height = ((bytes[3] as u16) * 1u16 << 8u16) + (bytes[2] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[3])` [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/main.rs:108:59 [INFO] [stderr] | [INFO] [stderr] 108 | let height = ((bytes[3] as u16) * 1u16 << 8u16) + (bytes[2] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[2])` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:117:38 [INFO] [stderr] | [INFO] [stderr] 117 | let background_color_index = match has_global_color_table { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 118 | | true => Some(bytes[5]), [INFO] [stderr] 119 | | _ => None, [INFO] [stderr] 120 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if has_global_color_table { Some(bytes[5]) } else { None }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:136:40 [INFO] [stderr] | [INFO] [stderr] 136 | fn parse_global_color_table(table: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.97s [INFO] running `"docker" "inspect" "67727bc2bee8f9b4657c7bd7ca83988ec6e5b59750a5f05c46f9373bd4a26d2f"` [INFO] running `"docker" "rm" "-f" "67727bc2bee8f9b4657c7bd7ca83988ec6e5b59750a5f05c46f9373bd4a26d2f"` [INFO] [stdout] 67727bc2bee8f9b4657c7bd7ca83988ec6e5b59750a5f05c46f9373bd4a26d2f