[INFO] cloning repository https://github.com/morganfogg/zanthe
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/morganfogg/zanthe" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmorganfogg%2Fzanthe", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmorganfogg%2Fzanthe'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8999a3258d0a4455d35cb28c685057596b6462e0
[INFO] checking morganfogg/zanthe against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmorganfogg%2Fzanthe" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/morganfogg/zanthe
[INFO] finished tweaking git repo https://github.com/morganfogg/zanthe
[INFO] tweaked toml for git repo https://github.com/morganfogg/zanthe written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/morganfogg/zanthe on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/morganfogg/zanthe 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-appender v0.2.2
[INFO] [stderr]   Downloaded io-lifetimes v1.0.4
[INFO] [stderr]   Downloaded clap v4.1.1
[INFO] [stderr]   Downloaded object v0.30.2
[INFO] [stderr]   Downloaded rustix v0.36.7
[INFO] [stderr]   Downloaded gimli v0.27.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 799b3dee2c3c0c571541c9c4f3eca715aaa0442d2fc5a2887a0fb18a4b5ec598
[INFO] running `Command { std: "docker" "start" "-a" "799b3dee2c3c0c571541c9c4f3eca715aaa0442d2fc5a2887a0fb18a4b5ec598", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "799b3dee2c3c0c571541c9c4f3eca715aaa0442d2fc5a2887a0fb18a4b5ec598", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "799b3dee2c3c0c571541c9c4f3eca715aaa0442d2fc5a2887a0fb18a4b5ec598", kill_on_drop: false }`
[INFO] [stdout] 799b3dee2c3c0c571541c9c4f3eca715aaa0442d2fc5a2887a0fb18a4b5ec598
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0b1f9c7255c8fea4e2b8c2639b5669f2e2879f54ad1636c248fd9b56945c7a97
[INFO] running `Command { std: "docker" "start" "-a" "0b1f9c7255c8fea4e2b8c2639b5669f2e2879f54ad1636c248fd9b56945c7a97", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling proc-macro2 v1.0.50
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]     Checking once_cell v1.17.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.4
[INFO] [stderr]    Compiling signal-hook v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.6
[INFO] [stderr]    Compiling rustix v0.36.7
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]     Checking linux-raw-sys v0.1.4
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling backtrace v0.3.67
[INFO] [stderr]     Checking time-core v0.1.0
[INFO] [stderr]     Checking gimli v0.27.0
[INFO] [stderr]     Checking itoa v1.0.5
[INFO] [stderr]     Checking os_str_bytes v6.4.1
[INFO] [stderr]     Checking miniz_oxide v0.6.2
[INFO] [stderr]     Checking time v0.3.17
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]     Checking clap_lex v0.3.1
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]     Checking thread_local v1.1.4
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]     Checking object v0.30.2
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.16
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.25.0
[INFO] [stderr]     Checking tracing-appender v0.2.2
[INFO] [stderr]     Checking addr2line v0.19.0
[INFO] [stderr]     Checking is-terminal v0.4.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling clap_derive v4.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.23
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking thiserror v1.0.38
[INFO] [stderr]     Checking clap v4.1.1
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking zanthe v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Attribute`, `SetAttribute`, and `queue`
[INFO] [stdout]  --> src/interface/terminal/window.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     execute, queue,
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 9 |     style::{Attribute, SetAttribute},
[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 imports: `Duration`, `Instant`, `error::Error`, and `io`
[INFO] [stdout]  --> src/interface/terminal.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     error::Error,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 5 |     io,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     time::{Duration, Instant},
[INFO] [stdout]   |            ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `ClearType`, `Clear`, `EnterAlternateScreen`, `LeaveAlternateScreen`, `MoveLeft`, `MoveTo`, `Print`, `SetAttribute`, `disable_raw_mode`, `enable_raw_mode`, `execute`, `position as cursor_pos`, `queue`, `read`, and `size as term_size`
[INFO] [stdout]   --> src/interface/terminal.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     cursor::{position as cursor_pos, MoveLeft, MoveTo},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 12 |     event::{self, read, Event, KeyCode, KeyEvent},
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 13 |     execute, queue,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^
[INFO] [stdout] 14 |     style::{Attribute, Print, SetAttribute},
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 15 |     terminal::{
[INFO] [stdout] 16 |         disable_raw_mode, enable_raw_mode, size as term_size, Clear, ClearType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 17 |         EnterAlternateScreen, LeaveAlternateScreen,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]   --> src/interface/terminal.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::warn;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error as StdError`
[INFO] [stdout]  --> src/loader/iff.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error as StdError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `self`
[INFO] [stdout]  --> src/loader/iff.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{self, Display};
[INFO] [stdout]   |                ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `SetAttribute`, and `queue`
[INFO] [stdout]  --> src/interface/terminal/window.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     execute, queue,
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 9 |     style::{Attribute, SetAttribute},
[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 imports: `Duration`, `Instant`, `error::Error`, and `io`
[INFO] [stdout]  --> src/interface/terminal.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     error::Error,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 5 |     io,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     time::{Duration, Instant},
[INFO] [stdout]   |            ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `ClearType`, `Clear`, `EnterAlternateScreen`, `LeaveAlternateScreen`, `MoveLeft`, `MoveTo`, `Print`, `SetAttribute`, `disable_raw_mode`, `enable_raw_mode`, `execute`, `position as cursor_pos`, `queue`, `read`, and `size as term_size`
[INFO] [stdout]   --> src/interface/terminal.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |     cursor::{position as cursor_pos, MoveLeft, MoveTo},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 12 |     event::{self, read, Event, KeyCode, KeyEvent},
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 13 |     execute, queue,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^
[INFO] [stdout] 14 |     style::{Attribute, Print, SetAttribute},
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 15 |     terminal::{
[INFO] [stdout] 16 |         disable_raw_mode, enable_raw_mode, size as term_size, Clear, ClearType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 17 |         EnterAlternateScreen, LeaveAlternateScreen,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]   --> src/interface/terminal.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::warn;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error as StdError`
[INFO] [stdout]  --> src/loader/iff.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error as StdError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `self`
[INFO] [stdout]  --> src/loader/iff.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{self, Display};
[INFO] [stdout]   |                ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/interface/terminal/window.rs:324:17
[INFO] [stdout]     |
[INFO] [stdout] 324 |             for c in 0..(screen_model.area.width as usize - line_consumed) {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interface/terminal/window.rs:375:14
[INFO] [stdout]     |
[INFO] [stdout] 375 |         for (mut i, c) in self.value.char_indices() {
[INFO] [stdout]     |              ----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]   --> src/interface/terminal.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn clear(&mut self, mode: ClearMode) -> Result<()> {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/interface/terminal.rs:113:41
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn set_z_machine_version(&mut self, version: u8) {
[INFO] [stdout]     |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split`
[INFO] [stdout]    --> src/interface/terminal.rs:178:32
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn split_screen(&mut self, split: u16) -> Result<()> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_split`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/interface/terminal.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn set_cursor(&mut self, line: u16, column: u16) -> Result<()> {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/interface/terminal.rs:196:41
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn set_cursor(&mut self, line: u16, column: u16) -> Result<()> {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enable`
[INFO] [stdout]    --> src/interface/terminal.rs:201:31
[INFO] [stdout]     |
[INFO] [stdout] 201 |     fn buffer_mode(&mut self, enable: bool) -> Result<()> {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_enable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default_from` is never used
[INFO] [stdout]   --> src/interface/terminal/window.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl Cursor {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 86 |     fn default_from(rect: Rectangle) -> Cursor {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lines` and `screen_model` are never read
[INFO] [stdout]    --> src/interface/terminal/window.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub struct TextGrid {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 337 |     lines: Vec<Vec<Chunk>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 338 |     screen_model: ScreenModel,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TextGrid` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `cursor_to` are never used
[INFO] [stdout]    --> src/interface/terminal/window.rs:342:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | impl TextGrid {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 342 |     fn new(screen_model: ScreenModel) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     fn cursor_to(&mut self, x: u16, y: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `chunks` are never read
[INFO] [stdout]   --> src/loader/iff.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FormChunk {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 20 |     kind: [u8; 4],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 21 |     chunks: Vec<Chunk>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `data` are never read
[INFO] [stdout]   --> src/loader/iff.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct DataChunk {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 26 |     kind: [u8; 4],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 27 |     data: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/game/state.rs:37:75
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(data: Vec<u8>, interface: &'a mut dyn Interface) -> Result<GameState> {
[INFO] [stdout]    |                                           -- the lifetime is named here   ^^^^^^^^^ the same lifetime is hidden 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(data: Vec<u8>, interface: &'a mut dyn Interface) -> Result<GameState<'a>> {
[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/interface/screen.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(FromPrimitive, PartialEq, Eq, Debug, Copy, Clone)]
[INFO] [stdout]   |          ^------------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `FromPrimitive` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Screen`
[INFO] [stdout] 4 | pub enum Screen {
[INFO] [stdout]   |          ------ `Screen` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/interface/terminal.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         self.wm.print(text, false);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let _ = self.wm.print(text, false);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/interface/terminal.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wm.print_char(text, false);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let _ = self.wm.print_char(text, false);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |         self.wm.flush_buffer();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let _ = self.wm.flush_buffer();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         self.wm.flush_buffer();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let _ = self.wm.flush_buffer();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal.rs:166:29
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   self.wm.backspace();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 166 |                             let _ = self.wm.backspace();
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 | /         self.wm.set_active(match active {
[INFO] [stdout] 189 | |             1 => self.upper_screen_id,
[INFO] [stdout] 190 | |             0 => self.lower_screen_id,
[INFO] [stdout] 191 | |             _ => todo!(),
[INFO] [stdout] 192 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let _ = self.wm.set_active(match active {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal/window.rs:287:21
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     stdout.write(chunk.value.as_bytes());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     let _ = stdout.write(chunk.value.as_bytes());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal/window.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |             self.redraw(screen_model);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 294 |             let _ = self.redraw(screen_model);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/interface/terminal/window.rs:324:17
[INFO] [stdout]     |
[INFO] [stdout] 324 |             for c in 0..(screen_model.area.width as usize - line_consumed) {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal/window.rs:570:17
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 window.screen_model.sync_cursor();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 let _ = window.screen_model.sync_cursor();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal/window.rs:581:17
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 window.screen_model.sync_cursor();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 let _ = window.screen_model.sync_cursor();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interface/terminal/window.rs:375:14
[INFO] [stdout]     |
[INFO] [stdout] 375 |         for (mut i, c) in self.value.char_indices() {
[INFO] [stdout]     |              ----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]   --> src/interface/terminal.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn clear(&mut self, mode: ClearMode) -> Result<()> {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/interface/terminal.rs:113:41
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn set_z_machine_version(&mut self, version: u8) {
[INFO] [stdout]     |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split`
[INFO] [stdout]    --> src/interface/terminal.rs:178:32
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn split_screen(&mut self, split: u16) -> Result<()> {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_split`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> src/interface/terminal.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn set_cursor(&mut self, line: u16, column: u16) -> Result<()> {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/interface/terminal.rs:196:41
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn set_cursor(&mut self, line: u16, column: u16) -> Result<()> {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_column`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enable`
[INFO] [stdout]    --> src/interface/terminal.rs:201:31
[INFO] [stdout]     |
[INFO] [stdout] 201 |     fn buffer_mode(&mut self, enable: bool) -> Result<()> {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_enable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default_from` is never used
[INFO] [stdout]   --> src/interface/terminal/window.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl Cursor {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 86 |     fn default_from(rect: Rectangle) -> Cursor {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lines` and `screen_model` are never read
[INFO] [stdout]    --> src/interface/terminal/window.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub struct TextGrid {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 337 |     lines: Vec<Vec<Chunk>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 338 |     screen_model: ScreenModel,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TextGrid` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `cursor_to` are never used
[INFO] [stdout]    --> src/interface/terminal/window.rs:342:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | impl TextGrid {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 342 |     fn new(screen_model: ScreenModel) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     fn cursor_to(&mut self, x: u16, y: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `chunks` are never read
[INFO] [stdout]   --> src/loader/iff.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FormChunk {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 20 |     kind: [u8; 4],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 21 |     chunks: Vec<Chunk>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `data` are never read
[INFO] [stdout]   --> src/loader/iff.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct DataChunk {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 26 |     kind: [u8; 4],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 27 |     data: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataChunk` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/game/state.rs:37:75
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(data: Vec<u8>, interface: &'a mut dyn Interface) -> Result<GameState> {
[INFO] [stdout]    |                                           -- the lifetime is named here   ^^^^^^^^^ the same lifetime is hidden 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(data: Vec<u8>, interface: &'a mut dyn Interface) -> Result<GameState<'a>> {
[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/interface/screen.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(FromPrimitive, PartialEq, Eq, Debug, Copy, Clone)]
[INFO] [stdout]   |          ^------------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `FromPrimitive` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Screen`
[INFO] [stdout] 4 | pub enum Screen {
[INFO] [stdout]   |          ------ `Screen` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/interface/terminal.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         self.wm.print(text, false);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let _ = self.wm.print(text, false);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/interface/terminal.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wm.print_char(text, false);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let _ = self.wm.print_char(text, false);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |         self.wm.flush_buffer();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let _ = self.wm.flush_buffer();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         self.wm.flush_buffer();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let _ = self.wm.flush_buffer();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal.rs:166:29
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...                   self.wm.backspace();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 166 |                             let _ = self.wm.backspace();
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 | /         self.wm.set_active(match active {
[INFO] [stdout] 189 | |             1 => self.upper_screen_id,
[INFO] [stdout] 190 | |             0 => self.lower_screen_id,
[INFO] [stdout] 191 | |             _ => todo!(),
[INFO] [stdout] 192 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let _ = self.wm.set_active(match active {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal/window.rs:287:21
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     stdout.write(chunk.value.as_bytes());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     let _ = stdout.write(chunk.value.as_bytes());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal/window.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |             self.redraw(screen_model);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 294 |             let _ = self.redraw(screen_model);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal/window.rs:570:17
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 window.screen_model.sync_cursor();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 let _ = window.screen_model.sync_cursor();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/interface/terminal/window.rs:581:17
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 window.screen_model.sync_cursor();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 let _ = window.screen_model.sync_cursor();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.23s
[INFO] running `Command { std: "docker" "inspect" "0b1f9c7255c8fea4e2b8c2639b5669f2e2879f54ad1636c248fd9b56945c7a97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b1f9c7255c8fea4e2b8c2639b5669f2e2879f54ad1636c248fd9b56945c7a97", kill_on_drop: false }`
[INFO] [stdout] 0b1f9c7255c8fea4e2b8c2639b5669f2e2879f54ad1636c248fd9b56945c7a97
