[INFO] updating cached repository sbhax/sbrx [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sbhax/sbrx [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sbhax/sbrx" "work/ex/clippy-test-run/sources/stable/gh/sbhax/sbrx"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sbhax/sbrx'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sbhax/sbrx" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sbhax/sbrx"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sbhax/sbrx'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a0ae84e5aef77e7b7803a2c8caabd171a8781a00 [INFO] sha for GitHub repo sbhax/sbrx: a0ae84e5aef77e7b7803a2c8caabd171a8781a00 [INFO] validating manifest of sbhax/sbrx 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 sbhax/sbrx 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 sbhax/sbrx [INFO] finished frobbing sbhax/sbrx [INFO] frobbed toml for sbhax/sbrx written to work/ex/clippy-test-run/sources/stable/gh/sbhax/sbrx/Cargo.toml [INFO] started frobbing sbhax/sbrx [INFO] finished frobbing sbhax/sbrx [INFO] frobbed toml for sbhax/sbrx written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sbhax/sbrx/Cargo.toml [INFO] crate sbhax/sbrx 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 sbhax/sbrx against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/sbhax/sbrx:/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] 4762a9cb99a7ba7bc2c37d7fea577901eb5c0e3a5f6b831e492f49f74267b6a9 [INFO] running `"docker" "start" "-a" "4762a9cb99a7ba7bc2c37d7fea577901eb5c0e3a5f6b831e492f49f74267b6a9"` [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Checking unreachable v0.1.1 [INFO] [stderr] Compiling x11-dl v2.18.1 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Compiling log v0.4.3 [INFO] [stderr] Checking rand v0.5.4 [INFO] [stderr] Compiling nfd v0.0.4 [INFO] [stderr] Checking deflate v0.7.18 [INFO] [stderr] Checking petgraph v0.4.12 [INFO] [stderr] Compiling wayland-scanner v0.20.11 [INFO] [stderr] Checking smallvec v0.6.3 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Compiling syn v0.13.11 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking ordered-float v0.5.0 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking parking_lot_core v0.2.14 [INFO] [stderr] Compiling wayland-client v0.20.11 [INFO] [stderr] Compiling wayland-protocols v0.20.11 [INFO] [stderr] Checking png v0.12.0 [INFO] [stderr] Checking daggy v0.5.0 [INFO] [stderr] Checking pistoncore-input v0.21.0 [INFO] [stderr] Checking tempfile v3.0.3 [INFO] [stderr] Checking rusttype v0.5.2 [INFO] [stderr] Checking rayon-core v1.4.1 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking parking_lot v0.6.3 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Compiling glutin v0.17.0 [INFO] [stderr] Compiling glium v0.22.0 [INFO] [stderr] Checking wayland-sys v0.20.11 [INFO] [stderr] Checking rayon v1.0.2 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking wayland-commons v0.20.11 [INFO] [stderr] Compiling conrod_derive v0.1.2 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking smithay-client-toolkit v0.2.6 [INFO] [stderr] Checking winit v0.16.2 [INFO] [stderr] Checking conrod v0.61.1 [INFO] [stderr] Checking sbrx v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `File`, `create_dir_all` [INFO] [stderr] --> src/main.rs:13:15 [INFO] [stderr] | [INFO] [stderr] 13 | use std::fs::{File, OpenOptions, create_dir_all}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ConvertBuffer`, `DynamicImage`, `open` [INFO] [stderr] --> src/main.rs:20:19 [INFO] [stderr] | [INFO] [stderr] 20 | use self::image::{open, ImageBuffer, Rgb, DynamicImage, ImageRgb8, ImageRgba8, ConvertBuffer}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Colorable` [INFO] [stderr] --> src/gui.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | use conrod::{widget, Colorable, Labelable, Positionable, Sizeable, Widget}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::once` [INFO] [stderr] --> src/gui.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | use std::iter::once; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/gui.rs:172:27 [INFO] [stderr] | [INFO] [stderr] 172 | let o_image = (if let Some(ref mut engine) = app.engine { [INFO] [stderr] | ___________________________^ [INFO] [stderr] 173 | | println!("Loading character data"); [INFO] [stderr] 174 | | let character = CHARACTERS[selected_index]; [INFO] [stderr] 175 | | let palette = engine.palette_manager.load_palette_colors(character.name.to_string()); [INFO] [stderr] ... | [INFO] [stderr] 178 | | None [INFO] [stderr] 179 | | }); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 172 | let o_image = if let Some(ref mut engine) = app.engine { [INFO] [stderr] 173 | println!("Loading character data"); [INFO] [stderr] 174 | let character = CHARACTERS[selected_index]; [INFO] [stderr] 175 | let palette = engine.palette_manager.load_palette_colors(character.name.to_string()); [INFO] [stderr] 176 | Some(engine.sprite_manager.load_spritesheet(&character).unwrap().to_img(&palette[..])) [INFO] [stderr] 177 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/data.rs:3:30 [INFO] [stderr] | [INFO] [stderr] 3 | pub const PHI_PALETTE: i32 = 0x47AB78; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0047_AB78` [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/data.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | pub const DUST_CLOUD_PALETTE: i32 = 0xBF2058; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00BF_2058` [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/data.rs:5:37 [INFO] [stderr] | [INFO] [stderr] 5 | pub const SONIC_MINE_PALETTE: i32 = 0xBF20D8; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00BF_20D8` [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/data.rs:6:40 [INFO] [stderr] | [INFO] [stderr] 6 | pub const TAILS_BLASTER_PALETTE: i32 = 0xBF2098; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00BF_2098` [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/data.rs:7:33 [INFO] [stderr] | [INFO] [stderr] 7 | pub const SHIELD_PALETTE: i32 = 0xBF2078; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00BF_2078` [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/data.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | palette_offset: 0x47AFB8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0047_AFB8` [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/data.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | text_offsets: (0x1DB3FC, 0x1E1467), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001D_B3FC` [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/data.rs:26:30 [INFO] [stderr] | [INFO] [stderr] 26 | text_offsets: (0x1DB3FC, 0x1E1467), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_1467` [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/data.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | sprite_offset: 0x47AFD8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0047_AFD8` [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/data.rs:34:21 [INFO] [stderr] | [INFO] [stderr] 34 | palette_offset: 0x4CADD8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x004C_ADD8` [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/data.rs:35:20 [INFO] [stderr] | [INFO] [stderr] 35 | text_offsets: (0x1ED2C4, 0x1F417F), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_D2C4` [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/data.rs:35:30 [INFO] [stderr] | [INFO] [stderr] 35 | text_offsets: (0x1ED2C4, 0x1F417F), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_417F` [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/data.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | sprite_offset: 0x4CADF8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x004C_ADF8` [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/data.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | palette_offset: 0x5283F8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0052_83F8` [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/data.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | text_offsets: (0x1E146A, 0x1E6FA7), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_146A` [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/data.rs:44:30 [INFO] [stderr] | [INFO] [stderr] 44 | text_offsets: (0x1E146A, 0x1E6FA7), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_6FA7` [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/data.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | sprite_offset: 0x528418, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0052_8418` [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/data.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | palette_offset: 0x58D818, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0058_D818` [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/data.rs:53:20 [INFO] [stderr] | [INFO] [stderr] 53 | text_offsets: (0x1FE870, 0x206103), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_E870` [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/data.rs:53:30 [INFO] [stderr] | [INFO] [stderr] 53 | text_offsets: (0x1FE870, 0x206103), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0020_6103` [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/data.rs:54:20 [INFO] [stderr] | [INFO] [stderr] 54 | sprite_offset: 0x58D838, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0058_D838` [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/data.rs:61:21 [INFO] [stderr] | [INFO] [stderr] 61 | palette_offset: 0x5F3E38, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x005F_3E38` [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/data.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | text_offsets: (0x1E6FA8, 0x1ED2C3), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_6FA8` [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/data.rs:62:30 [INFO] [stderr] | [INFO] [stderr] 62 | text_offsets: (0x1E6FA8, 0x1ED2C3), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_D2C3` [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/data.rs:63:20 [INFO] [stderr] | [INFO] [stderr] 63 | sprite_offset: 0x5F3E58, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x005F_3E58` [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/data.rs:70:21 [INFO] [stderr] | [INFO] [stderr] 70 | palette_offset: 0x636458, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0063_6458` [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/data.rs:71:20 [INFO] [stderr] | [INFO] [stderr] 71 | text_offsets: (0x1F4180, 0x1F9CDB), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_4180` [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/data.rs:71:30 [INFO] [stderr] | [INFO] [stderr] 71 | text_offsets: (0x1F4180, 0x1F9CDB), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_9CDB` [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/data.rs:72:20 [INFO] [stderr] | [INFO] [stderr] 72 | sprite_offset: 0x636478, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0063_6478` [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/data.rs:79:21 [INFO] [stderr] | [INFO] [stderr] 79 | palette_offset: 0x681A78, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0068_1A78` [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/data.rs:81:20 [INFO] [stderr] | [INFO] [stderr] 81 | sprite_offset: 0x681A98, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0068_1A98` [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/data.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 88 | palette_offset: 0x6F6A98, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x006F_6A98` [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/data.rs:89:20 [INFO] [stderr] | [INFO] [stderr] 89 | text_offsets: (0x1F9CDC, 0x1FE86F), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_9CDC` [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/data.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | text_offsets: (0x1F9CDC, 0x1FE86F), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_E86F` [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/data.rs:90:20 [INFO] [stderr] | [INFO] [stderr] 90 | sprite_offset: 0x6F6AB8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x006F_6AB8` [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/data.rs:97:21 [INFO] [stderr] | [INFO] [stderr] 97 | palette_offset: 0x7336B8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0073_36B8` [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/data.rs:99:20 [INFO] [stderr] | [INFO] [stderr] 99 | sprite_offset: 0x7336D8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0073_36D8` [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/data.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | palette_offset: 0x47AB38, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0047_AB38` [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/data.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | text_offsets: (0x206104, 0x20B131), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0020_6104` [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/data.rs:107:30 [INFO] [stderr] | [INFO] [stderr] 107 | text_offsets: (0x206104, 0x20B131), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0020_B131` [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/data.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | sprite_offset: 0x787D18, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0078_7D18` [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/data.rs:114:21 [INFO] [stderr] | [INFO] [stderr] 114 | palette_offset: 0x7822D8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0078_22D8` [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/data.rs:116:20 [INFO] [stderr] | [INFO] [stderr] 116 | sprite_offset: 0x7822F8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0078_22F8` [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: `data::*` [INFO] [stderr] --> src/engine.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use data::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `::engine::*` [INFO] [stderr] --> src/manager/palette.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use ::engine::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/manager/sprite.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::image::gif::*` [INFO] [stderr] --> src/manager/sprite.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use self::image::gif::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `::engine::*` [INFO] [stderr] --> src/manager/sprite.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use ::engine::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:252:29 [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 252 | 00, 1, 02, 03, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 252 | 00, 0o1, 02, 03, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:252:33 [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 2, 03, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 0o2, 03, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:252:37 [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 3, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 0o3, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:253:25 [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 09, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | 6, 07, 08, 09, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | 0o6, 07, 08, 09, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:253:29 [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 09, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | 06, 7, 08, 09, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | 06, 0o7, 08, 09, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:253:33 [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 09, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 8, 09, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 0o8, 09, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:253:37 [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 09, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 9, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 0o9, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:258:25 [INFO] [stderr] | [INFO] [stderr] 258 | 04, 05, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 258 | 4, 05, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 258 | 0o4, 05, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:258:29 [INFO] [stderr] | [INFO] [stderr] 258 | 04, 05, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 258 | 04, 5, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 258 | 04, 0o5, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:332:29 [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 03, 24, 25, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 332 | 00, 1, 02, 03, 24, 25, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 332 | 00, 0o1, 02, 03, 24, 25, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:332:33 [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 03, 24, 25, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 2, 03, 24, 25, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 0o2, 03, 24, 25, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:332:37 [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 03, 24, 25, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 3, 24, 25, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 0o3, 24, 25, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:333:25 [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 333 | 4, 05, 06, 07, 26, 27, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 333 | 0o4, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:333:29 [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 333 | 04, 5, 06, 07, 26, 27, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 333 | 04, 0o5, 06, 07, 26, 27, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:333:33 [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 6, 07, 26, 27, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 0o6, 07, 26, 27, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:333:37 [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 7, 26, 27, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 0o7, 26, 27, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:334:25 [INFO] [stderr] | [INFO] [stderr] 334 | 08, 09, 10, 11, 28, 29, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 334 | 8, 09, 10, 11, 28, 29, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 334 | 0o8, 09, 10, 11, 28, 29, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:334:29 [INFO] [stderr] | [INFO] [stderr] 334 | 08, 09, 10, 11, 28, 29, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 334 | 08, 9, 10, 11, 28, 29, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 334 | 08, 0o9, 10, 11, 28, 29, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/manager/sprite.rs:371:34 [INFO] [stderr] | [INFO] [stderr] 371 | Some(spritesheet) => return Ok(spritesheet), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(spritesheet)` [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] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/manager/sprite.rs:372:21 [INFO] [stderr] | [INFO] [stderr] 372 | None => return Err(Error::new(ErrorKind::InvalidData, format!("invalid character {}", &character.name.to_string()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::new(ErrorKind::InvalidData, format!("invalid character {}", &character.name.to_string())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:28:17 [INFO] [stderr] | [INFO] [stderr] 28 | const VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `File`, `create_dir_all` [INFO] [stderr] --> src/main.rs:13:15 [INFO] [stderr] | [INFO] [stderr] 13 | use std::fs::{File, OpenOptions, create_dir_all}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ConvertBuffer`, `DynamicImage`, `open` [INFO] [stderr] --> src/main.rs:20:19 [INFO] [stderr] | [INFO] [stderr] 20 | use self::image::{open, ImageBuffer, Rgb, DynamicImage, ImageRgb8, ImageRgba8, ConvertBuffer}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Colorable` [INFO] [stderr] --> src/gui.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | use conrod::{widget, Colorable, Labelable, Positionable, Sizeable, Widget}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::once` [INFO] [stderr] --> src/gui.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | use std::iter::once; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/gui.rs:172:27 [INFO] [stderr] | [INFO] [stderr] 172 | let o_image = (if let Some(ref mut engine) = app.engine { [INFO] [stderr] | ___________________________^ [INFO] [stderr] 173 | | println!("Loading character data"); [INFO] [stderr] 174 | | let character = CHARACTERS[selected_index]; [INFO] [stderr] 175 | | let palette = engine.palette_manager.load_palette_colors(character.name.to_string()); [INFO] [stderr] ... | [INFO] [stderr] 178 | | None [INFO] [stderr] 179 | | }); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 172 | let o_image = if let Some(ref mut engine) = app.engine { [INFO] [stderr] 173 | println!("Loading character data"); [INFO] [stderr] 174 | let character = CHARACTERS[selected_index]; [INFO] [stderr] 175 | let palette = engine.palette_manager.load_palette_colors(character.name.to_string()); [INFO] [stderr] 176 | Some(engine.sprite_manager.load_spritesheet(&character).unwrap().to_img(&palette[..])) [INFO] [stderr] 177 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/data.rs:3:30 [INFO] [stderr] | [INFO] [stderr] 3 | pub const PHI_PALETTE: i32 = 0x47AB78; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0047_AB78` [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/data.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | pub const DUST_CLOUD_PALETTE: i32 = 0xBF2058; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00BF_2058` [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/data.rs:5:37 [INFO] [stderr] | [INFO] [stderr] 5 | pub const SONIC_MINE_PALETTE: i32 = 0xBF20D8; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00BF_20D8` [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/data.rs:6:40 [INFO] [stderr] | [INFO] [stderr] 6 | pub const TAILS_BLASTER_PALETTE: i32 = 0xBF2098; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00BF_2098` [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/data.rs:7:33 [INFO] [stderr] | [INFO] [stderr] 7 | pub const SHIELD_PALETTE: i32 = 0xBF2078; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00BF_2078` [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/data.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | palette_offset: 0x47AFB8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0047_AFB8` [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/data.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | text_offsets: (0x1DB3FC, 0x1E1467), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001D_B3FC` [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/data.rs:26:30 [INFO] [stderr] | [INFO] [stderr] 26 | text_offsets: (0x1DB3FC, 0x1E1467), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_1467` [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/data.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | sprite_offset: 0x47AFD8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0047_AFD8` [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/data.rs:34:21 [INFO] [stderr] | [INFO] [stderr] 34 | palette_offset: 0x4CADD8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x004C_ADD8` [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/data.rs:35:20 [INFO] [stderr] | [INFO] [stderr] 35 | text_offsets: (0x1ED2C4, 0x1F417F), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_D2C4` [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/data.rs:35:30 [INFO] [stderr] | [INFO] [stderr] 35 | text_offsets: (0x1ED2C4, 0x1F417F), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_417F` [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/data.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | sprite_offset: 0x4CADF8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x004C_ADF8` [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/data.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | palette_offset: 0x5283F8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0052_83F8` [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/data.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | text_offsets: (0x1E146A, 0x1E6FA7), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_146A` [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/data.rs:44:30 [INFO] [stderr] | [INFO] [stderr] 44 | text_offsets: (0x1E146A, 0x1E6FA7), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_6FA7` [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/data.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | sprite_offset: 0x528418, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0052_8418` [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/data.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | palette_offset: 0x58D818, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0058_D818` [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/data.rs:53:20 [INFO] [stderr] | [INFO] [stderr] 53 | text_offsets: (0x1FE870, 0x206103), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_E870` [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/data.rs:53:30 [INFO] [stderr] | [INFO] [stderr] 53 | text_offsets: (0x1FE870, 0x206103), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0020_6103` [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/data.rs:54:20 [INFO] [stderr] | [INFO] [stderr] 54 | sprite_offset: 0x58D838, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0058_D838` [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/data.rs:61:21 [INFO] [stderr] | [INFO] [stderr] 61 | palette_offset: 0x5F3E38, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x005F_3E38` [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/data.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | text_offsets: (0x1E6FA8, 0x1ED2C3), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_6FA8` [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/data.rs:62:30 [INFO] [stderr] | [INFO] [stderr] 62 | text_offsets: (0x1E6FA8, 0x1ED2C3), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001E_D2C3` [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/data.rs:63:20 [INFO] [stderr] | [INFO] [stderr] 63 | sprite_offset: 0x5F3E58, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x005F_3E58` [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/data.rs:70:21 [INFO] [stderr] | [INFO] [stderr] 70 | palette_offset: 0x636458, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0063_6458` [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/data.rs:71:20 [INFO] [stderr] | [INFO] [stderr] 71 | text_offsets: (0x1F4180, 0x1F9CDB), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_4180` [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/data.rs:71:30 [INFO] [stderr] | [INFO] [stderr] 71 | text_offsets: (0x1F4180, 0x1F9CDB), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_9CDB` [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/data.rs:72:20 [INFO] [stderr] | [INFO] [stderr] 72 | sprite_offset: 0x636478, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0063_6478` [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/data.rs:79:21 [INFO] [stderr] | [INFO] [stderr] 79 | palette_offset: 0x681A78, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0068_1A78` [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/data.rs:81:20 [INFO] [stderr] | [INFO] [stderr] 81 | sprite_offset: 0x681A98, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0068_1A98` [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/data.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 88 | palette_offset: 0x6F6A98, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x006F_6A98` [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/data.rs:89:20 [INFO] [stderr] | [INFO] [stderr] 89 | text_offsets: (0x1F9CDC, 0x1FE86F), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_9CDC` [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/data.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | text_offsets: (0x1F9CDC, 0x1FE86F), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x001F_E86F` [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/data.rs:90:20 [INFO] [stderr] | [INFO] [stderr] 90 | sprite_offset: 0x6F6AB8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x006F_6AB8` [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/data.rs:97:21 [INFO] [stderr] | [INFO] [stderr] 97 | palette_offset: 0x7336B8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0073_36B8` [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/data.rs:99:20 [INFO] [stderr] | [INFO] [stderr] 99 | sprite_offset: 0x7336D8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0073_36D8` [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/data.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | palette_offset: 0x47AB38, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0047_AB38` [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/data.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | text_offsets: (0x206104, 0x20B131), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0020_6104` [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/data.rs:107:30 [INFO] [stderr] | [INFO] [stderr] 107 | text_offsets: (0x206104, 0x20B131), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0020_B131` [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/data.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | sprite_offset: 0x787D18, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0078_7D18` [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/data.rs:114:21 [INFO] [stderr] | [INFO] [stderr] 114 | palette_offset: 0x7822D8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0078_22D8` [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/data.rs:116:20 [INFO] [stderr] | [INFO] [stderr] 116 | sprite_offset: 0x7822F8, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0078_22F8` [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: `data::*` [INFO] [stderr] --> src/engine.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use data::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `::engine::*` [INFO] [stderr] --> src/manager/palette.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use ::engine::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/manager/sprite.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::image::gif::*` [INFO] [stderr] --> src/manager/sprite.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use self::image::gif::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `::engine::*` [INFO] [stderr] --> src/manager/sprite.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use ::engine::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:252:29 [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 252 | 00, 1, 02, 03, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 252 | 00, 0o1, 02, 03, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:252:33 [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 2, 03, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 0o2, 03, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:252:37 [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 3, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 252 | 00, 01, 02, 0o3, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:253:25 [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 09, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | 6, 07, 08, 09, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | 0o6, 07, 08, 09, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:253:29 [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 09, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | 06, 7, 08, 09, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | 06, 0o7, 08, 09, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:253:33 [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 09, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 8, 09, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 0o8, 09, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:253:37 [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 09, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 9, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | 06, 07, 08, 0o9, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:258:25 [INFO] [stderr] | [INFO] [stderr] 258 | 04, 05, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 258 | 4, 05, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 258 | 0o4, 05, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:258:29 [INFO] [stderr] | [INFO] [stderr] 258 | 04, 05, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 258 | 04, 5, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 258 | 04, 0o5, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:332:29 [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 03, 24, 25, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 332 | 00, 1, 02, 03, 24, 25, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 332 | 00, 0o1, 02, 03, 24, 25, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:332:33 [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 03, 24, 25, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 2, 03, 24, 25, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 0o2, 03, 24, 25, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:332:37 [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 03, 24, 25, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 3, 24, 25, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 332 | 00, 01, 02, 0o3, 24, 25, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:333:25 [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 333 | 4, 05, 06, 07, 26, 27, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 333 | 0o4, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:333:29 [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 333 | 04, 5, 06, 07, 26, 27, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 333 | 04, 0o5, 06, 07, 26, 27, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:333:33 [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 6, 07, 26, 27, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 0o6, 07, 26, 27, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:333:37 [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 07, 26, 27, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 7, 26, 27, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 333 | 04, 05, 06, 0o7, 26, 27, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:334:25 [INFO] [stderr] | [INFO] [stderr] 334 | 08, 09, 10, 11, 28, 29, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 334 | 8, 09, 10, 11, 28, 29, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 334 | 0o8, 09, 10, 11, 28, 29, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/manager/sprite.rs:334:29 [INFO] [stderr] | [INFO] [stderr] 334 | 08, 09, 10, 11, 28, 29, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 334 | 08, 9, 10, 11, 28, 29, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 334 | 08, 0o9, 10, 11, 28, 29, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/manager/sprite.rs:371:34 [INFO] [stderr] | [INFO] [stderr] 371 | Some(spritesheet) => return Ok(spritesheet), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(spritesheet)` [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] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/manager/sprite.rs:372:21 [INFO] [stderr] | [INFO] [stderr] 372 | None => return Err(Error::new(ErrorKind::InvalidData, format!("invalid character {}", &character.name.to_string()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::new(ErrorKind::InvalidData, format!("invalid character {}", &character.name.to_string())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:28:17 [INFO] [stderr] | [INFO] [stderr] 28 | const VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GenericImage` [INFO] [stderr] --> src/manager/sprite.rs:9:32 [INFO] [stderr] | [INFO] [stderr] 9 | use self::image::{ImageBuffer, GenericImage, Rgb}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `total_timer` [INFO] [stderr] --> src/gui.rs:273:25 [INFO] [stderr] | [INFO] [stderr] 273 | let total_timer = Instant::now(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_total_timer` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `renderer` [INFO] [stderr] --> src/main.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut renderer = conrod::backend::glium::Renderer::new(&display).unwrap(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_renderer` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/manager/sprite.rs:53:33 [INFO] [stderr] | [INFO] [stderr] 53 | let c: Color; [INFO] [stderr] | ^ help: consider using `_c` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max_frames` [INFO] [stderr] --> src/manager/sprite.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | let max_frames = sprite_data.iter().max_by_key(|p| { p.1 }).map_or(0, |p| { p.1 }); [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_max_frames` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `animation_index` [INFO] [stderr] --> src/manager/sprite.rs:231:14 [INFO] [stderr] | [INFO] [stderr] 231 | for (animation_index, animation_data) in sprite_data.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_animation_index` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let mut renderer = conrod::backend::glium::Renderer::new(&display).unwrap(); [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: constant item is never used: `SHAPE_GAP` [INFO] [stderr] --> src/gui.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | const SHAPE_GAP: conrod::Scalar = 50.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SUBTITLE_SIZE` [INFO] [stderr] --> src/gui.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | const SUBTITLE_SIZE: conrod::FontSize = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PHI_PALETTE` [INFO] [stderr] --> src/data.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub const PHI_PALETTE: i32 = 0x47AB78; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `DUST_CLOUD_PALETTE` [INFO] [stderr] --> src/data.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub const DUST_CLOUD_PALETTE: i32 = 0xBF2058; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SONIC_MINE_PALETTE` [INFO] [stderr] --> src/data.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub const SONIC_MINE_PALETTE: i32 = 0xBF20D8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TAILS_BLASTER_PALETTE` [INFO] [stderr] --> src/data.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | pub const TAILS_BLASTER_PALETTE: i32 = 0xBF2098; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SHIELD_PALETTE` [INFO] [stderr] --> src/data.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub const SHIELD_PALETTE: i32 = 0xBF2078; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `EMERL_DATA` [INFO] [stderr] --> src/data.rs:104:1 [INFO] [stderr] | [INFO] [stderr] 104 | / pub const EMERL_DATA: Character = Character { [INFO] [stderr] 105 | | name: "Emerl", [INFO] [stderr] 106 | | palette_offset: 0x47AB38, [INFO] [stderr] 107 | | text_offsets: (0x206104, 0x20B131), [INFO] [stderr] 108 | | sprite_offset: 0x787D18, [INFO] [stderr] 109 | | sprite_frames: &[-1], [INFO] [stderr] 110 | | }; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PURPLE_1` [INFO] [stderr] --> src/color.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | const PURPLE_1: Color = Color { r: 255, g: 0, b: 250 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PURPLE_2` [INFO] [stderr] --> src/color.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const PURPLE_2: Color = Color { r: 185, g: 0, b: 255 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PURPLE_3` [INFO] [stderr] --> src/color.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | const PURPLE_3: Color = Color { r: 185, g: 0, b: 185 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_palette` [INFO] [stderr] --> src/manager/palette.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn print_palette(&mut self, character: &Character) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_frames` [INFO] [stderr] --> src/manager/sprite.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn get_frames(&self, palette: &[Color]) -> Vec, Vec>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_image` [INFO] [stderr] --> src/manager/sprite.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn to_image(&self, palette: &[Color]) -> ImageBuffer, Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store_image` [INFO] [stderr] --> src/manager/sprite.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | pub fn store_image(&mut self, palette_manager: &mut palette::PaletteManager, image: &mut ImageBuffer, Vec>, character: &Character) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_spritesheets` [INFO] [stderr] --> src/manager/sprite.rs:314:5 [INFO] [stderr] | [INFO] [stderr] 314 | pub fn write_spritesheets(&mut self) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save_spritesheet` [INFO] [stderr] --> src/manager/sprite.rs:359:5 [INFO] [stderr] | [INFO] [stderr] 359 | pub fn save_spritesheet(&self, palette_manager: &mut palette::PaletteManager, character: &Character) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/gui.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | if let Ok(_) = engine.start() { [INFO] [stderr] | _____________________________- ^^^^^ [INFO] [stderr] 137 | | app.engine = Some(engine); [INFO] [stderr] 138 | | app.selected_character_index = None; [INFO] [stderr] 139 | | } [INFO] [stderr] | |_____________________________- help: try this: `if engine.start().is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: for loop over `widget::DropDownList::new(CHARACTERS.iter().map(|c| c.name).collect::>().as_slice(), app.selected_character_index) [INFO] [stderr] .small_font(ui) [INFO] [stderr] .bottom_left_of(ids.subtitle) [INFO] [stderr] .down(50.0) [INFO] [stderr] .w_h(60.0, 25.0) [INFO] [stderr] .set(ids.character_dropdown, ui)`, which is an `Option`. This is more readably written as an `if let` statement. [INFO] [stderr] --> src/gui.rs:162:27 [INFO] [stderr] | [INFO] [stderr] 162 | for selected_index in widget::DropDownList::new(CHARACTERS.iter().map(|c| c.name).collect::>().as_slice(), app.selected_character_index) [INFO] [stderr] | ___________________________^ [INFO] [stderr] 163 | | .small_font(ui) [INFO] [stderr] 164 | | .bottom_left_of(ids.subtitle) [INFO] [stderr] 165 | | .down(50.0) [INFO] [stderr] 166 | | .w_h(60.0, 25.0) [INFO] [stderr] 167 | | .set(ids.character_dropdown, ui) [INFO] [stderr] | |________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::for_loop_over_option)] on by default [INFO] [stderr] = help: consider replacing `for selected_index in widget::DropDownList::new(CHARACTERS.iter().map(|c| c.name).collect::>().as_slice(), app.selected_character_index) [INFO] [stderr] .small_font(ui) [INFO] [stderr] .bottom_left_of(ids.subtitle) [INFO] [stderr] .down(50.0) [INFO] [stderr] .w_h(60.0, 25.0) [INFO] [stderr] .set(ids.character_dropdown, ui)` with `if let Some(selected_index) = widget::DropDownList::new(CHARACTERS.iter().map(|c| c.name).collect::>().as_slice(), app.selected_character_index) [INFO] [stderr] .small_font(ui) [INFO] [stderr] .bottom_left_of(ids.subtitle) [INFO] [stderr] .down(50.0) [INFO] [stderr] .w_h(60.0, 25.0) [INFO] [stderr] .set(ids.character_dropdown, ui)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_loop_over_option [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/gui.rs:204:49 [INFO] [stderr] | [INFO] [stderr] 204 | let dynamic_image = open(file_name.clone()).ok().expect("Couldn't open image"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/color.rs:31:20 [INFO] [stderr] | [INFO] [stderr] 31 | return color.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*color` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `((value & (0x001f << 0)) >> 0) * 8` [INFO] [stderr] --> src/color.rs:34:22 [INFO] [stderr] | [INFO] [stderr] 34 | let r: i32 = ((value & (0x001f << 0)) >> 0) * 8 * (24 / 15); [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: the operation is ineffective. Consider reducing it to `(value & (0x001f << 0))` [INFO] [stderr] --> src/color.rs:34:22 [INFO] [stderr] | [INFO] [stderr] 34 | let r: i32 = ((value & (0x001f << 0)) >> 0) * 8 * (24 / 15); [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 operation is ineffective. Consider reducing it to `0x001f` [INFO] [stderr] --> src/color.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | let r: i32 = ((value & (0x001f << 0)) >> 0) * 8 * (24 / 15); [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 operation is ineffective. Consider reducing it to `((value & (0x001f << 5)) >> 5) * 8` [INFO] [stderr] --> src/color.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | let g: i32 = ((value & (0x001f << 5)) >> 5) * 8 * (24 / 15); [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 operation is ineffective. Consider reducing it to `((value & (0x001f << 10)) >> 10) * 8` [INFO] [stderr] --> src/color.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | let b: i32 = ((value & (0x001f << 10)) >> 10) * 8 * (24 / 15); [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/color.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | color.clone() [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/color.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | return value.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/manager/palette.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn load_palette_i32<'a>(&'a self, name: String) -> Vec { [INFO] [stderr] 39 | | self.palettes.get(&name).unwrap().clone() [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/manager/palette.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | self.palettes.get(&name).unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.palettes[&name]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/manager/palette.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | self.file.lock().unwrap().read(&mut color_buffer[..])?; [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/palette.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | let a = color_buffer[i * 2] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(color_buffer[i * 2])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/palette.rs:66:21 [INFO] [stderr] | [INFO] [stderr] 66 | let b = color_buffer[i * 2 + 1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(color_buffer[i * 2 + 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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/manager/palette.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | self.file.lock().unwrap().write(&[a as u8, b as u8])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/sprite.rs:99:56 [INFO] [stderr] | [INFO] [stderr] 99 | let color = Color { r: rgb[0] as i32, g: rgb[1] as i32, b: rgb[2] as i32 }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(rgb[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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/sprite.rs:99:74 [INFO] [stderr] | [INFO] [stderr] 99 | let color = Color { r: rgb[0] as i32, g: rgb[1] as i32, b: rgb[2] as i32 }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(rgb[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 i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/sprite.rs:99:92 [INFO] [stderr] | [INFO] [stderr] 99 | let color = Color { r: rgb[0] as i32, g: rgb[1] as i32, b: rgb[2] as i32 }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(rgb[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] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/manager/sprite.rs:276:21 [INFO] [stderr] | [INFO] [stderr] 276 | self.file.lock().unwrap().read(&mut buffer[..])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/manager/sprite.rs:278:30 [INFO] [stderr] | [INFO] [stderr] 278 | for i in 0..FRAME_BYTE_COUNT { [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] 278 | for in buffer.iter().take(FRAME_BYTE_COUNT) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/manager/sprite.rs:346:35 [INFO] [stderr] | [INFO] [stderr] 346 | |row| row.iter().map(|&b| b) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `row.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/manager/sprite.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | self.file.lock().unwrap().write(byte_folder.collect::>().as_slice())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: unused import: `std::io::Read` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GenericImage` [INFO] [stderr] --> src/manager/sprite.rs:9:32 [INFO] [stderr] | [INFO] [stderr] 9 | use self::image::{ImageBuffer, GenericImage, Rgb}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:48:42 [INFO] [stderr] | [INFO] [stderr] 48 | let mut ui = conrod::UiBuilder::new([WINDOW_WIDTH as f64, WINDOW_HEIGHT as f64]).theme(gui::theme()).build(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(WINDOW_WIDTH)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:48:63 [INFO] [stderr] | [INFO] [stderr] 48 | let mut ui = conrod::UiBuilder::new([WINDOW_WIDTH as f64, WINDOW_HEIGHT as f64]).theme(gui::theme()).build(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(WINDOW_HEIGHT)` [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 pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/main.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | if let Ok(_) = engine.start() { [INFO] [stderr] | _________________- ^^^^^ [INFO] [stderr] 65 | | Some(engine) [INFO] [stderr] 66 | | } else { [INFO] [stderr] 67 | | None [INFO] [stderr] 68 | | } [INFO] [stderr] | |_________________- help: try this: `if engine.start().is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | / match event { [INFO] [stderr] 94 | | glium::glutin::Event::WindowEvent { event, .. } => match event { [INFO] [stderr] 95 | | glium::glutin::WindowEvent::CloseRequested | [INFO] [stderr] 96 | | glium::glutin::WindowEvent::KeyboardInput { [INFO] [stderr] ... | [INFO] [stderr] 105 | | _ => (), [INFO] [stderr] 106 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 93 | if let glium::glutin::Event::WindowEvent { event, .. } = event { match event { [INFO] [stderr] 94 | glium::glutin::WindowEvent::CloseRequested | [INFO] [stderr] 95 | glium::glutin::WindowEvent::KeyboardInput { [INFO] [stderr] 96 | input: glium::glutin::KeyboardInput { [INFO] [stderr] 97 | virtual_keycode: Some(glium::glutin::VirtualKeyCode::Escape), [INFO] [stderr] 98 | .. [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] warning: unused variable: `total_timer` [INFO] [stderr] --> src/gui.rs:273:25 [INFO] [stderr] | [INFO] [stderr] 273 | let total_timer = Instant::now(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_total_timer` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `renderer` [INFO] [stderr] --> src/main.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut renderer = conrod::backend::glium::Renderer::new(&display).unwrap(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_renderer` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/manager/sprite.rs:53:33 [INFO] [stderr] | [INFO] [stderr] 53 | let c: Color; [INFO] [stderr] | ^ help: consider using `_c` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max_frames` [INFO] [stderr] --> src/manager/sprite.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | let max_frames = sprite_data.iter().max_by_key(|p| { p.1 }).map_or(0, |p| { p.1 }); [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_max_frames` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `animation_index` [INFO] [stderr] --> src/manager/sprite.rs:231:14 [INFO] [stderr] | [INFO] [stderr] 231 | for (animation_index, animation_data) in sprite_data.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_animation_index` instead [INFO] [stderr] [INFO] [stderr] error: Could not compile `sbrx`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let mut renderer = conrod::backend::glium::Renderer::new(&display).unwrap(); [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: constant item is never used: `SHAPE_GAP` [INFO] [stderr] --> src/gui.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | const SHAPE_GAP: conrod::Scalar = 50.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SUBTITLE_SIZE` [INFO] [stderr] --> src/gui.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | const SUBTITLE_SIZE: conrod::FontSize = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PHI_PALETTE` [INFO] [stderr] --> src/data.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub const PHI_PALETTE: i32 = 0x47AB78; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `DUST_CLOUD_PALETTE` [INFO] [stderr] --> src/data.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub const DUST_CLOUD_PALETTE: i32 = 0xBF2058; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SONIC_MINE_PALETTE` [INFO] [stderr] --> src/data.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub const SONIC_MINE_PALETTE: i32 = 0xBF20D8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TAILS_BLASTER_PALETTE` [INFO] [stderr] --> src/data.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | pub const TAILS_BLASTER_PALETTE: i32 = 0xBF2098; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SHIELD_PALETTE` [INFO] [stderr] --> src/data.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub const SHIELD_PALETTE: i32 = 0xBF2078; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `EMERL_DATA` [INFO] [stderr] --> src/data.rs:104:1 [INFO] [stderr] | [INFO] [stderr] 104 | / pub const EMERL_DATA: Character = Character { [INFO] [stderr] 105 | | name: "Emerl", [INFO] [stderr] 106 | | palette_offset: 0x47AB38, [INFO] [stderr] 107 | | text_offsets: (0x206104, 0x20B131), [INFO] [stderr] 108 | | sprite_offset: 0x787D18, [INFO] [stderr] 109 | | sprite_frames: &[-1], [INFO] [stderr] 110 | | }; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PURPLE_1` [INFO] [stderr] --> src/color.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | const PURPLE_1: Color = Color { r: 255, g: 0, b: 250 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PURPLE_2` [INFO] [stderr] --> src/color.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const PURPLE_2: Color = Color { r: 185, g: 0, b: 255 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PURPLE_3` [INFO] [stderr] --> src/color.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | const PURPLE_3: Color = Color { r: 185, g: 0, b: 185 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_palette` [INFO] [stderr] --> src/manager/palette.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn print_palette(&mut self, character: &Character) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_frames` [INFO] [stderr] --> src/manager/sprite.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn get_frames(&self, palette: &[Color]) -> Vec, Vec>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_image` [INFO] [stderr] --> src/manager/sprite.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn to_image(&self, palette: &[Color]) -> ImageBuffer, Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store_image` [INFO] [stderr] --> src/manager/sprite.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | pub fn store_image(&mut self, palette_manager: &mut palette::PaletteManager, image: &mut ImageBuffer, Vec>, character: &Character) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_spritesheets` [INFO] [stderr] --> src/manager/sprite.rs:314:5 [INFO] [stderr] | [INFO] [stderr] 314 | pub fn write_spritesheets(&mut self) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save_spritesheet` [INFO] [stderr] --> src/manager/sprite.rs:359:5 [INFO] [stderr] | [INFO] [stderr] 359 | pub fn save_spritesheet(&self, palette_manager: &mut palette::PaletteManager, character: &Character) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/gui.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | if let Ok(_) = engine.start() { [INFO] [stderr] | _____________________________- ^^^^^ [INFO] [stderr] 137 | | app.engine = Some(engine); [INFO] [stderr] 138 | | app.selected_character_index = None; [INFO] [stderr] 139 | | } [INFO] [stderr] | |_____________________________- help: try this: `if engine.start().is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: for loop over `widget::DropDownList::new(CHARACTERS.iter().map(|c| c.name).collect::>().as_slice(), app.selected_character_index) [INFO] [stderr] .small_font(ui) [INFO] [stderr] .bottom_left_of(ids.subtitle) [INFO] [stderr] .down(50.0) [INFO] [stderr] .w_h(60.0, 25.0) [INFO] [stderr] .set(ids.character_dropdown, ui)`, which is an `Option`. This is more readably written as an `if let` statement. [INFO] [stderr] --> src/gui.rs:162:27 [INFO] [stderr] | [INFO] [stderr] 162 | for selected_index in widget::DropDownList::new(CHARACTERS.iter().map(|c| c.name).collect::>().as_slice(), app.selected_character_index) [INFO] [stderr] | ___________________________^ [INFO] [stderr] 163 | | .small_font(ui) [INFO] [stderr] 164 | | .bottom_left_of(ids.subtitle) [INFO] [stderr] 165 | | .down(50.0) [INFO] [stderr] 166 | | .w_h(60.0, 25.0) [INFO] [stderr] 167 | | .set(ids.character_dropdown, ui) [INFO] [stderr] | |________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::for_loop_over_option)] on by default [INFO] [stderr] = help: consider replacing `for selected_index in widget::DropDownList::new(CHARACTERS.iter().map(|c| c.name).collect::>().as_slice(), app.selected_character_index) [INFO] [stderr] .small_font(ui) [INFO] [stderr] .bottom_left_of(ids.subtitle) [INFO] [stderr] .down(50.0) [INFO] [stderr] .w_h(60.0, 25.0) [INFO] [stderr] .set(ids.character_dropdown, ui)` with `if let Some(selected_index) = widget::DropDownList::new(CHARACTERS.iter().map(|c| c.name).collect::>().as_slice(), app.selected_character_index) [INFO] [stderr] .small_font(ui) [INFO] [stderr] .bottom_left_of(ids.subtitle) [INFO] [stderr] .down(50.0) [INFO] [stderr] .w_h(60.0, 25.0) [INFO] [stderr] .set(ids.character_dropdown, ui)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_loop_over_option [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/gui.rs:204:49 [INFO] [stderr] | [INFO] [stderr] 204 | let dynamic_image = open(file_name.clone()).ok().expect("Couldn't open image"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/color.rs:31:20 [INFO] [stderr] | [INFO] [stderr] 31 | return color.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*color` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `((value & (0x001f << 0)) >> 0) * 8` [INFO] [stderr] --> src/color.rs:34:22 [INFO] [stderr] | [INFO] [stderr] 34 | let r: i32 = ((value & (0x001f << 0)) >> 0) * 8 * (24 / 15); [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: the operation is ineffective. Consider reducing it to `(value & (0x001f << 0))` [INFO] [stderr] --> src/color.rs:34:22 [INFO] [stderr] | [INFO] [stderr] 34 | let r: i32 = ((value & (0x001f << 0)) >> 0) * 8 * (24 / 15); [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 operation is ineffective. Consider reducing it to `0x001f` [INFO] [stderr] --> src/color.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | let r: i32 = ((value & (0x001f << 0)) >> 0) * 8 * (24 / 15); [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 operation is ineffective. Consider reducing it to `((value & (0x001f << 5)) >> 5) * 8` [INFO] [stderr] --> src/color.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | let g: i32 = ((value & (0x001f << 5)) >> 5) * 8 * (24 / 15); [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 operation is ineffective. Consider reducing it to `((value & (0x001f << 10)) >> 10) * 8` [INFO] [stderr] --> src/color.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | let b: i32 = ((value & (0x001f << 10)) >> 10) * 8 * (24 / 15); [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/color.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | color.clone() [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/color.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | return value.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/manager/palette.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn load_palette_i32<'a>(&'a self, name: String) -> Vec { [INFO] [stderr] 39 | | self.palettes.get(&name).unwrap().clone() [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/manager/palette.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | self.palettes.get(&name).unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.palettes[&name]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/manager/palette.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | self.file.lock().unwrap().read(&mut color_buffer[..])?; [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/palette.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | let a = color_buffer[i * 2] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(color_buffer[i * 2])` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/palette.rs:66:21 [INFO] [stderr] | [INFO] [stderr] 66 | let b = color_buffer[i * 2 + 1] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(color_buffer[i * 2 + 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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/manager/palette.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | self.file.lock().unwrap().write(&[a as u8, b as u8])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/sprite.rs:99:56 [INFO] [stderr] | [INFO] [stderr] 99 | let color = Color { r: rgb[0] as i32, g: rgb[1] as i32, b: rgb[2] as i32 }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(rgb[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 u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/sprite.rs:99:74 [INFO] [stderr] | [INFO] [stderr] 99 | let color = Color { r: rgb[0] as i32, g: rgb[1] as i32, b: rgb[2] as i32 }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(rgb[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 i32 may become silently lossy if types change [INFO] [stderr] --> src/manager/sprite.rs:99:92 [INFO] [stderr] | [INFO] [stderr] 99 | let color = Color { r: rgb[0] as i32, g: rgb[1] as i32, b: rgb[2] as i32 }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(rgb[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] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/manager/sprite.rs:276:21 [INFO] [stderr] | [INFO] [stderr] 276 | self.file.lock().unwrap().read(&mut buffer[..])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/manager/sprite.rs:278:30 [INFO] [stderr] | [INFO] [stderr] 278 | for i in 0..FRAME_BYTE_COUNT { [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] 278 | for in buffer.iter().take(FRAME_BYTE_COUNT) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/manager/sprite.rs:346:35 [INFO] [stderr] | [INFO] [stderr] 346 | |row| row.iter().map(|&b| b) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `row.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/manager/sprite.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | self.file.lock().unwrap().write(byte_folder.collect::>().as_slice())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:48:42 [INFO] [stderr] | [INFO] [stderr] 48 | let mut ui = conrod::UiBuilder::new([WINDOW_WIDTH as f64, WINDOW_HEIGHT as f64]).theme(gui::theme()).build(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(WINDOW_WIDTH)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:48:63 [INFO] [stderr] | [INFO] [stderr] 48 | let mut ui = conrod::UiBuilder::new([WINDOW_WIDTH as f64, WINDOW_HEIGHT as f64]).theme(gui::theme()).build(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(WINDOW_HEIGHT)` [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 pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/main.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | if let Ok(_) = engine.start() { [INFO] [stderr] | _________________- ^^^^^ [INFO] [stderr] 65 | | Some(engine) [INFO] [stderr] 66 | | } else { [INFO] [stderr] 67 | | None [INFO] [stderr] 68 | | } [INFO] [stderr] | |_________________- help: try this: `if engine.start().is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | / match event { [INFO] [stderr] 94 | | glium::glutin::Event::WindowEvent { event, .. } => match event { [INFO] [stderr] 95 | | glium::glutin::WindowEvent::CloseRequested | [INFO] [stderr] 96 | | glium::glutin::WindowEvent::KeyboardInput { [INFO] [stderr] ... | [INFO] [stderr] 105 | | _ => (), [INFO] [stderr] 106 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 93 | if let glium::glutin::Event::WindowEvent { event, .. } = event { match event { [INFO] [stderr] 94 | glium::glutin::WindowEvent::CloseRequested | [INFO] [stderr] 95 | glium::glutin::WindowEvent::KeyboardInput { [INFO] [stderr] 96 | input: glium::glutin::KeyboardInput { [INFO] [stderr] 97 | virtual_keycode: Some(glium::glutin::VirtualKeyCode::Escape), [INFO] [stderr] 98 | .. [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `sbrx`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "4762a9cb99a7ba7bc2c37d7fea577901eb5c0e3a5f6b831e492f49f74267b6a9"` [INFO] running `"docker" "rm" "-f" "4762a9cb99a7ba7bc2c37d7fea577901eb5c0e3a5f6b831e492f49f74267b6a9"` [INFO] [stdout] 4762a9cb99a7ba7bc2c37d7fea577901eb5c0e3a5f6b831e492f49f74267b6a9