[INFO] cloning repository https://github.com/xfix/smw-mwl-file-joiner
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xfix/smw-mwl-file-joiner" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxfix%2Fsmw-mwl-file-joiner", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxfix%2Fsmw-mwl-file-joiner'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c7e85080723d70952c7cf2182e6946e38708b8af
[INFO] checking xfix/smw-mwl-file-joiner/c7e85080723d70952c7cf2182e6946e38708b8af against 018018e881e2db0956f229dbb543e21f058d1ce7 for pr-162600
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxfix%2Fsmw-mwl-file-joiner" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/xfix/smw-mwl-file-joiner
[INFO] finished tweaking git repo https://github.com/xfix/smw-mwl-file-joiner
[INFO] tweaked toml for git repo https://github.com/xfix/smw-mwl-file-joiner written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xfix/smw-mwl-file-joiner on toolchain 018018e881e2db0956f229dbb543e21f058d1ce7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+018018e881e2db0956f229dbb543e21f058d1ce7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xfix/smw-mwl-file-joiner 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" "+018018e881e2db0956f229dbb543e21f058d1ce7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `smw-mwl-file-joiner` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508
[INFO] running `Command { std: "docker" "start" "c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508" "/opt/rustwide/cargo-home/bin/cargo" "+018018e881e2db0956f229dbb543e21f058d1ce7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508" "/opt/rustwide/cargo-home/bin/cargo" "+018018e881e2db0956f229dbb543e21f058d1ce7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `smw-mwl-file-joiner` (manifest) generated 1 warning
[INFO] [stderr]    Compiling cc v1.0.3
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking cfg-if v0.1.2
[INFO] [stderr]     Checking rustc-demangle v0.1.5
[INFO] [stderr]     Checking byteorder v1.2.1
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]    Compiling synstructure v0.6.1
[INFO] [stderr]    Compiling failure_derive v0.1.1
[INFO] [stderr]     Checking backtrace v0.3.4
[INFO] [stderr]     Checking failure v0.1.1
[INFO] [stderr]     Checking smw-mwl-file-joiner v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use]
[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 import: `Rectangle`
[INFO] [stdout]  --> src/entry.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use map16::{Rectangle, Tile};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ByteOrder` and `LE`
[INFO] [stdout]  --> src/entry.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use byteorder::{ByteOrder, LE};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `failure::Error`
[INFO] [stdout]  --> src/entry.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use failure::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/entry.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `failure::Error`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use failure::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use]
[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 import: `Rectangle`
[INFO] [stdout]  --> src/entry.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use map16::{Rectangle, Tile};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ByteOrder` and `LE`
[INFO] [stdout]  --> src/entry.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use byteorder::{ByteOrder, LE};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `failure::Error`
[INFO] [stdout]  --> src/entry.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use failure::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/entry.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `failure::Error`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use failure::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir_entry`
[INFO] [stdout]   --> src/main.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     for dir_entry in fs::read_dir("../entries").unwrap() {
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dir_entry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]   --> src/main.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let entry = Entry::new(&mut database);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache` and `current_number` are never read
[INFO] [stdout]  --> src/cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Cache<T> {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     cache: HashMap<T, u16>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     current_number: u16,
[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 `get_number` is never used
[INFO] [stdout]   --> src/cache.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<T: Hash + Eq> Cache<T> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_number(&mut self, elem: T) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fg`, `bg`, `exgfx`, `current_secondary`, `current_regular`, and `current_sublevel` are never read
[INFO] [stdout]   --> src/db.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Database {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  5 |     fg: Optimizer,
[INFO] [stdout]    |     ^^
[INFO] [stdout]  6 |     bg: Optimizer,
[INFO] [stdout]    |     ^^
[INFO] [stdout]  7 |     exgfx: Cache<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  8 |     current_secondary: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     current_regular: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     current_sublevel: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `exgfx_number`, `tile_number`, `tile_number_for_rectangle`, `next_regular`, and `next_sublevel` are never used
[INFO] [stdout]   --> src/db.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Database {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn exgfx_number(&mut self, exgfx: Vec<u8>) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn tile_number(&mut self, tile: Tile) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn tile_number_for_rectangle(&mut self, rectangle: Rectangle) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn next_regular(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn next_sublevel(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `db`, `exgfx`, and `tiles` are never read
[INFO] [stdout]   --> src/entry.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Entry<'a> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 10 |     db: &'a mut Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 11 |     exgfx: HashMap<u16, u16>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     tiles: HashMap<u16, Tile>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Level` is never constructed
[INFO] [stdout]  --> src/level.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Level<'a> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_block`, and `read_level_number` are never used
[INFO] [stdout]   --> src/level.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl<'a> Level<'a> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(bytes: &[u8]) -> Level {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn read_block(&self, position: usize) -> &[u8] {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn read_level_number(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `next`, `tiles`, `rectangles`, and `big_tiles` are never read
[INFO] [stdout]  --> src/map16.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Optimizer {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 4 |     next: u16,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     tiles: HashMap<Tile, u16>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     rectangles: HashMap<Rectangle, u16>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 7 |     big_tiles: HashSet<u16>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `assign_tile`, `assign_rectangle`, and `is_rectangle_allowed` are never used
[INFO] [stdout]   --> src/map16.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Optimizer {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn assign_tile(&mut self, tile: Tile) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn assign_rectangle(&mut self, rectangle: Rectangle) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn is_rectangle_allowed(&self, rectangle: &Rectangle, next: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/map16.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl Tile {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 83 |     pub fn new(tile: [u8; 8], behaviour: u16) -> Tile {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `height` are never used
[INFO] [stdout]   --> src/map16.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl Rectangle {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 95 |     pub fn new(tiles: Vec<Tile>, width: u8) -> Rectangle {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn height(&self) -> u8 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/entry.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(db: &mut Database) -> Entry {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(db: &mut Database) -> Entry<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/level.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new(bytes: &[u8]) -> Level {
[INFO] [stdout]   |                       ^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                       |
[INFO] [stdout]   |                       the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new(bytes: &[u8]) -> Level<'_> {
[INFO] [stdout]   |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir_entry`
[INFO] [stdout]   --> src/main.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     for dir_entry in fs::read_dir("../entries").unwrap() {
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dir_entry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]   --> src/main.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let entry = Entry::new(&mut database);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache` and `current_number` are never read
[INFO] [stdout]  --> src/cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Cache<T> {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     cache: HashMap<T, u16>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     current_number: u16,
[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 `get_number` is never used
[INFO] [stdout]   --> src/cache.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<T: Hash + Eq> Cache<T> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_number(&mut self, elem: T) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fg`, `bg`, `exgfx`, `current_secondary`, `current_regular`, and `current_sublevel` are never read
[INFO] [stdout]   --> src/db.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Database {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  5 |     fg: Optimizer,
[INFO] [stdout]    |     ^^
[INFO] [stdout]  6 |     bg: Optimizer,
[INFO] [stdout]    |     ^^
[INFO] [stdout]  7 |     exgfx: Cache<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  8 |     current_secondary: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     current_regular: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     current_sublevel: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `exgfx_number`, `tile_number`, `tile_number_for_rectangle`, `next_regular`, and `next_sublevel` are never used
[INFO] [stdout]   --> src/db.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Database {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn exgfx_number(&mut self, exgfx: Vec<u8>) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn tile_number(&mut self, tile: Tile) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn tile_number_for_rectangle(&mut self, rectangle: Rectangle) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn next_regular(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn next_sublevel(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `db`, `exgfx`, and `tiles` are never read
[INFO] [stdout]   --> src/entry.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Entry<'a> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 10 |     db: &'a mut Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 11 |     exgfx: HashMap<u16, u16>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     tiles: HashMap<u16, Tile>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Level` is never constructed
[INFO] [stdout]  --> src/level.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Level<'a> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_block`, and `read_level_number` are never used
[INFO] [stdout]   --> src/level.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl<'a> Level<'a> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(bytes: &[u8]) -> Level {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn read_block(&self, position: usize) -> &[u8] {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn read_level_number(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/entry.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(db: &mut Database) -> Entry {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(db: &mut Database) -> Entry<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/level.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new(bytes: &[u8]) -> Level {
[INFO] [stdout]   |                       ^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                       |
[INFO] [stdout]   |                       the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new(bytes: &[u8]) -> Level<'_> {
[INFO] [stdout]   |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.63s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.11.11
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508", kill_on_drop: false }`
[INFO] [stdout] c5fa8fa96e0762627ab08e8b089d1538cbf570954a8ce86e49f8ed93c18da508
