[INFO] cloning repository https://github.com/PrattFall/oxide-gb [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PrattFall/oxide-gb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPrattFall%2Foxide-gb", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPrattFall%2Foxide-gb'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7cf13ad16c5cd7ff28afcc28cf4795e9fd017424 [INFO] building PrattFall/oxide-gb against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPrattFall%2Foxide-gb" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/PrattFall/oxide-gb [INFO] finished tweaking git repo https://github.com/PrattFall/oxide-gb [INFO] tweaked toml for git repo https://github.com/PrattFall/oxide-gb written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/PrattFall/oxide-gb on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/PrattFall/oxide-gb already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 840b49c3d8d9021460f4d07834ba1f06a9e87e7fce17434f915e9a06573d5b84 [INFO] running `Command { std: "docker" "start" "-a" "840b49c3d8d9021460f4d07834ba1f06a9e87e7fce17434f915e9a06573d5b84", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "840b49c3d8d9021460f4d07834ba1f06a9e87e7fce17434f915e9a06573d5b84", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "840b49c3d8d9021460f4d07834ba1f06a9e87e7fce17434f915e9a06573d5b84", kill_on_drop: false }` [INFO] [stdout] 840b49c3d8d9021460f4d07834ba1f06a9e87e7fce17434f915e9a06573d5b84 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ee23c4e720467b6ac17845cbba9eaacd0eda895775b331fc4aab81680a5fb36f [INFO] running `Command { std: "docker" "start" "-a" "ee23c4e720467b6ac17845cbba9eaacd0eda895775b331fc4aab81680a5fb36f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.149 [INFO] [stderr] Compiling proc-macro2 v1.0.69 [INFO] [stderr] Compiling memchr v2.6.4 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling smithay-client-toolkit v0.15.4 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling num-bigint v0.4.4 [INFO] [stderr] Compiling winit v0.26.1 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling addr2line v0.21.0 [INFO] [stderr] Compiling takeable-option v0.5.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling object v0.32.1 [INFO] [stderr] Compiling glutin_glx_sys v0.1.8 [INFO] [stderr] Compiling glutin_egl_sys v0.1.6 [INFO] [stderr] Compiling glium v0.31.0 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling nix v0.24.3 [INFO] [stderr] Compiling nix v0.22.3 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling memmap2 v0.3.1 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling xcursor v0.3.4 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling num-complex v0.4.4 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Compiling wayland-commons v0.29.5 [INFO] [stderr] Compiling num v0.4.1 [INFO] [stderr] Compiling calloop v0.9.3 [INFO] [stderr] Compiling wayland-cursor v0.29.5 [INFO] [stderr] Compiling wayland-egl v0.29.5 [INFO] [stderr] Compiling glutin v0.28.0 [INFO] [stderr] Compiling oxide-gb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `RAM_ENABLE_VALUE` [INFO] [stdout] --> src/mbc.rs:107:22 [INFO] [stdout] | [INFO] [stdout] 107 | use super::{MBC, RAM_ENABLE_VALUE}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ram` [INFO] [stdout] --> src/video.rs:39:23 [INFO] [stdout] | [INFO] [stdout] 39 | fn build_tile_map(ram: MBC, tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ram` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tile_index` [INFO] [stdout] --> src/video.rs:39:33 [INFO] [stdout] | [INFO] [stdout] 39 | fn build_tile_map(ram: MBC, tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 39 | fn build_tile_map(ram: MBC, _tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SCREEN_WIDTH` [INFO] [stdout] | [INFO] [stdout] 39 - fn build_tile_map(ram: MBC, tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] 39 + fn build_tile_map(ram: MBC, video::SCREEN_WIDTH: u8) -> (Vec, Vec) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/cartridge_header.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct CartridgeHeader { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 92 | pub title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 93 | pub manufacturer: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 94 | pub cartridge_type: CartridgeType, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 95 | pub color_gameboy_support: ColorGameboySupport, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 96 | pub super_gameboy_support: SuperGameboySupport, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 97 | pub rom_size_bytes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 98 | pub ram_size: Option, [INFO] [stdout] 99 | pub destination_code: DestinationCode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/lcdc.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl LCDC { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 19 | pub fn bg_and_window_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn sprites_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn sprite_size(&self) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn bg_tile_map_area(&self) -> RangeInclusive { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn bg_and_window_tile_data_area(&self) -> RangeInclusive { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn window_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn window_tile_map_area(&self) -> RangeInclusive { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn lcd_and_ppu_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_slice` is never used [INFO] [stdout] --> src/mbc.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl MBC { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn read_slice(&self, start: usize, end: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_mock_mbc` is never used [INFO] [stdout] --> src/mbc.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | fn get_mock_mbc() -> MBC { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `dec_mem_rr` is never used [INFO] [stdout] --> src/ops.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Ops { [INFO] [stdout] | --- method in this trait [INFO] [stdout] ... [INFO] [stdout] 86 | fn dec_mem_rr(&mut self, mbc: &mut MBC, register: CombinedRegister); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILE_SIZE_BYTES` is never used [INFO] [stdout] --> src/tile.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const TILE_SIZE_BYTES: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_ram` is never used [INFO] [stdout] --> src/tile.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 90 | impl Tile { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn from_ram(lcdc: LCDC, ram: &MBC, tile_index: usize) -> Tile { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tiles` is never read [INFO] [stdout] --> src/tile_dictionary.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct TileDictionary { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 6 | tiles: [Tile; MAX_TILES] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set` is never used [INFO] [stdout] --> src/tile_dictionary.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl TileDictionary { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 20 | pub fn set(&mut self, index: usize, value: Tile) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `toggle_bit` is never used [INFO] [stdout] --> src/utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait BitWise { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 28 | fn toggle_bit(&self, bit: T, should_set: bool) -> T; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BACKGROUND_SIZE` is never used [INFO] [stdout] --> src/video.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const BACKGROUND_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VideoBackground` is never constructed [INFO] [stdout] --> src/video.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct VideoBackground { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tiles` is never read [INFO] [stdout] --> src/video.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Video { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 30 | tiles: TileDictionary, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `build_tile_map`, `collect_tiles`, and `compose_tiles` are never used [INFO] [stdout] --> src/video.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 33 | impl Video { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | fn build_tile_map(ram: MBC, tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn collect_tiles(&mut self, lcdc: LCDC, ram: &MBC) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn compose_tiles(&self, tiles: Vec) -> Frame { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/render_opengl.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | fn build_vertex_buffer(display: &glium::Display) -> glium::VertexBuffer { [INFO] [stdout] | ------------------------------------------------------------------------------- move the `impl` block outside of this function `build_vertex_buffer` [INFO] [stdout] 73 | implement_vertex!(Vertex, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Vertex` is not local [INFO] [stdout] | `Vertex` is not local [INFO] [stdout] | [INFO] [stdout] = note: the macro `implement_vertex` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the macro `implement_vertex` may come from an old version of the `glium` crate, try updating your dependency with `cargo update -p glium` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s [INFO] running `Command { std: "docker" "inspect" "ee23c4e720467b6ac17845cbba9eaacd0eda895775b331fc4aab81680a5fb36f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ee23c4e720467b6ac17845cbba9eaacd0eda895775b331fc4aab81680a5fb36f", kill_on_drop: false }` [INFO] [stdout] ee23c4e720467b6ac17845cbba9eaacd0eda895775b331fc4aab81680a5fb36f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 63b9bfff5901c9d8c6b483cfc37b0399f95d5164345f8935900c1236a942df17 [INFO] running `Command { std: "docker" "start" "-a" "63b9bfff5901c9d8c6b483cfc37b0399f95d5164345f8935900c1236a942df17", kill_on_drop: false }` [INFO] [stderr] Compiling oxide-gb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `ram` [INFO] [stdout] --> src/video.rs:39:23 [INFO] [stdout] | [INFO] [stdout] 39 | fn build_tile_map(ram: MBC, tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ram` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tile_index` [INFO] [stdout] --> src/video.rs:39:33 [INFO] [stdout] | [INFO] [stdout] 39 | fn build_tile_map(ram: MBC, tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 39 | fn build_tile_map(ram: MBC, _tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SCREEN_WIDTH` [INFO] [stdout] | [INFO] [stdout] 39 - fn build_tile_map(ram: MBC, tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] 39 + fn build_tile_map(ram: MBC, video::SCREEN_WIDTH: u8) -> (Vec, Vec) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/cartridge_header.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct CartridgeHeader { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 92 | pub title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 93 | pub manufacturer: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 94 | pub cartridge_type: CartridgeType, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 95 | pub color_gameboy_support: ColorGameboySupport, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 96 | pub super_gameboy_support: SuperGameboySupport, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 97 | pub rom_size_bytes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 98 | pub ram_size: Option, [INFO] [stdout] 99 | pub destination_code: DestinationCode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `dec_mem_rr` is never used [INFO] [stdout] --> src/ops.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Ops { [INFO] [stdout] | --- method in this trait [INFO] [stdout] ... [INFO] [stdout] 86 | fn dec_mem_rr(&mut self, mbc: &mut MBC, register: CombinedRegister); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILE_SIZE_BYTES` is never used [INFO] [stdout] --> src/tile.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const TILE_SIZE_BYTES: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_ram` is never used [INFO] [stdout] --> src/tile.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 90 | impl Tile { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn from_ram(lcdc: LCDC, ram: &MBC, tile_index: usize) -> Tile { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tiles` is never read [INFO] [stdout] --> src/tile_dictionary.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct TileDictionary { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 6 | tiles: [Tile; MAX_TILES] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/render_opengl.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | fn build_vertex_buffer(display: &glium::Display) -> glium::VertexBuffer { [INFO] [stdout] | ------------------------------------------------------------------------------- move the `impl` block outside of this function `build_vertex_buffer` [INFO] [stdout] 73 | implement_vertex!(Vertex, position, tex_coords); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Vertex` is not local [INFO] [stdout] | `Vertex` is not local [INFO] [stdout] | [INFO] [stdout] = note: the macro `implement_vertex` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the macro `implement_vertex` may come from an old version of the `glium` crate, try updating your dependency with `cargo update -p glium` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_slice` is never used [INFO] [stdout] --> src/mbc.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl MBC { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn read_slice(&self, start: usize, end: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `toggle_bit` is never used [INFO] [stdout] --> src/utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait BitWise { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 28 | fn toggle_bit(&self, bit: T, should_set: bool) -> T; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BACKGROUND_SIZE` is never used [INFO] [stdout] --> src/video.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const BACKGROUND_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VideoBackground` is never constructed [INFO] [stdout] --> src/video.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct VideoBackground { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set` is never used [INFO] [stdout] --> src/tile_dictionary.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl TileDictionary { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 20 | pub fn set(&mut self, index: usize, value: Tile) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tiles` is never read [INFO] [stdout] --> src/video.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Video { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 30 | tiles: TileDictionary, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `build_tile_map`, `collect_tiles`, and `compose_tiles` are never used [INFO] [stdout] --> src/video.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 33 | impl Video { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | fn build_tile_map(ram: MBC, tile_index: u8) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn collect_tiles(&mut self, lcdc: LCDC, ram: &MBC) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn compose_tiles(&self, tiles: Vec) -> Frame { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.87s [INFO] running `Command { std: "docker" "inspect" "63b9bfff5901c9d8c6b483cfc37b0399f95d5164345f8935900c1236a942df17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "63b9bfff5901c9d8c6b483cfc37b0399f95d5164345f8935900c1236a942df17", kill_on_drop: false }` [INFO] [stdout] 63b9bfff5901c9d8c6b483cfc37b0399f95d5164345f8935900c1236a942df17