[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/beta-1.38-1/sources/1.37.0/gh/sbhax/sbrx"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/sbhax/sbrx'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sbhax/sbrx" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/sbhax/sbrx"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/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 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of sbhax/sbrx on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "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/beta-1.38-1/sources/1.37.0/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/beta-1.38-1/sources/beta-2019-08-13/gh/sbhax/sbrx/Cargo.toml [INFO] crate sbhax/sbrx already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing sbhax/sbrx against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-0/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/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=warn" "-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" "+1.37.0" "build" "--frozen"` [INFO] [stdout] 966764df805eebb93edb87db8a791f0cdb3298021d71d7116f2b43d61804340d [INFO] running `"docker" "start" "-a" "966764df805eebb93edb87db8a791f0cdb3298021d71d7116f2b43d61804340d"` [INFO] [stderr] Compiling nfd v0.0.4 [INFO] [stderr] Compiling crossbeam-epoch v0.3.1 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Compiling rusttype v0.5.2 [INFO] [stderr] Compiling pistoncore-input v0.21.0 [INFO] [stderr] Compiling crossbeam-deque v0.2.0 [INFO] [stderr] Compiling rayon-core v1.4.1 [INFO] [stderr] Compiling rayon v1.0.2 [INFO] [stderr] Compiling conrod v0.61.1 [INFO] [stderr] Compiling jpeg-decoder v0.1.15 [INFO] [stderr] Compiling image v0.19.0 [INFO] [stderr] Compiling 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: `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: 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: 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: `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 prefixing with an underscore: `_renderer` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [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 prefixing with an underscore: `_total_timer` [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 prefixing with an underscore: `_c` [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 prefixing with an underscore: `_max_frames` [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 prefixing with an underscore: `_animation_index` [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: variable does not need to be mutable [INFO] [stderr] --> src/gui.rs:206:43 [INFO] [stderr] | [INFO] [stderr] 206 | ImageRgb8(mut image) => { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/gui.rs:209:44 [INFO] [stderr] | [INFO] [stderr] 209 | ImageRgba8(mut image) => { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/manager/sprite.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | let mut animation = Animation::new(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/manager/sprite.rs:87:21 [INFO] [stderr] | [INFO] [stderr] 87 | let mut frame = Frame::new(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/manager/sprite.rs:101:37 [INFO] [stderr] | [INFO] [stderr] 101 | let mut color_index; [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/manager/sprite.rs:353:17 [INFO] [stderr] | [INFO] [stderr] 353 | let mut byte_folder = ByteFolder::new(bytes.into_iter()); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [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] Finished dev [unoptimized + debuginfo] target(s) in 1m 16s [INFO] running `"docker" "inspect" "966764df805eebb93edb87db8a791f0cdb3298021d71d7116f2b43d61804340d"` [INFO] running `"docker" "rm" "-f" "966764df805eebb93edb87db8a791f0cdb3298021d71d7116f2b43d61804340d"` [INFO] [stdout] 966764df805eebb93edb87db8a791f0cdb3298021d71d7116f2b43d61804340d [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-0/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/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=warn" "-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" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 9ba6dca2b8a533c6b0d65a5f0fe927608999cedd65f1f035dd980f4d0cf8955b [INFO] running `"docker" "start" "-a" "9ba6dca2b8a533c6b0d65a5f0fe927608999cedd65f1f035dd980f4d0cf8955b"` [INFO] [stderr] Compiling 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: `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: 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: 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: `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 prefixing with an underscore: `_renderer` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [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 prefixing with an underscore: `_total_timer` [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 prefixing with an underscore: `_c` [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 prefixing with an underscore: `_max_frames` [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 prefixing with an underscore: `_animation_index` [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: variable does not need to be mutable [INFO] [stderr] --> src/gui.rs:206:43 [INFO] [stderr] | [INFO] [stderr] 206 | ImageRgb8(mut image) => { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/gui.rs:209:44 [INFO] [stderr] | [INFO] [stderr] 209 | ImageRgba8(mut image) => { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/manager/sprite.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | let mut animation = Animation::new(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/manager/sprite.rs:87:21 [INFO] [stderr] | [INFO] [stderr] 87 | let mut frame = Frame::new(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/manager/sprite.rs:101:37 [INFO] [stderr] | [INFO] [stderr] 101 | let mut color_index; [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/manager/sprite.rs:353:17 [INFO] [stderr] | [INFO] [stderr] 353 | let mut byte_folder = ByteFolder::new(bytes.into_iter()); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [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] Finished dev [unoptimized + debuginfo] target(s) in 2.79s [INFO] running `"docker" "inspect" "9ba6dca2b8a533c6b0d65a5f0fe927608999cedd65f1f035dd980f4d0cf8955b"` [INFO] running `"docker" "rm" "-f" "9ba6dca2b8a533c6b0d65a5f0fe927608999cedd65f1f035dd980f4d0cf8955b"` [INFO] [stdout] 9ba6dca2b8a533c6b0d65a5f0fe927608999cedd65f1f035dd980f4d0cf8955b [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-0/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/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=warn" "-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" "+1.37.0" "test" "--frozen"` [INFO] [stdout] e11f2b171c1551e72609fa0b8f3bc010f09b1aa8f1dfcace0b5809755d25c3b1 [INFO] running `"docker" "start" "-a" "e11f2b171c1551e72609fa0b8f3bc010f09b1aa8f1dfcace0b5809755d25c3b1"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Running /opt/crater/target/debug/deps/sbrx-399e8eb09b12f098 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "e11f2b171c1551e72609fa0b8f3bc010f09b1aa8f1dfcace0b5809755d25c3b1"` [INFO] running `"docker" "rm" "-f" "e11f2b171c1551e72609fa0b8f3bc010f09b1aa8f1dfcace0b5809755d25c3b1"` [INFO] [stdout] e11f2b171c1551e72609fa0b8f3bc010f09b1aa8f1dfcace0b5809755d25c3b1