[INFO] cloning repository https://github.com/clpi/dpub
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/clpi/dpub" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclpi%2Fdpub", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclpi%2Fdpub'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 437b7db048d357ed76b7b6f8f6af677c67b86e20
[INFO] checking clpi/dpub against master#32cd9114712a24010b0583624dc52ac302194128 for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclpi%2Fdpub" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/clpi/dpub
[INFO] finished tweaking git repo https://github.com/clpi/dpub
[INFO] tweaked toml for git repo https://github.com/clpi/dpub written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/clpi/dpub on toolchain 32cd9114712a24010b0583624dc52ac302194128
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/clpi/dpub 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" "+32cd9114712a24010b0583624dc52ac302194128" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 59736df1cdbd1e21ccde8e2dcc28c64baa61d8541b8cea38563dbb6246deaf0c
[INFO] running `Command { std: "docker" "start" "-a" "59736df1cdbd1e21ccde8e2dcc28c64baa61d8541b8cea38563dbb6246deaf0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "59736df1cdbd1e21ccde8e2dcc28c64baa61d8541b8cea38563dbb6246deaf0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59736df1cdbd1e21ccde8e2dcc28c64baa61d8541b8cea38563dbb6246deaf0c", kill_on_drop: false }`
[INFO] [stdout] 59736df1cdbd1e21ccde8e2dcc28c64baa61d8541b8cea38563dbb6246deaf0c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1eb8ef15d26eeeb76ebf00ec086313720eee1d9df4bf10446ec6ae5887054ca0
[INFO] running `Command { std: "docker" "start" "-a" "1eb8ef15d26eeeb76ebf00ec086313720eee1d9df4bf10446ec6ae5887054ca0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.81
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling syn v1.0.55
[INFO] [stderr]     Checking smallvec v1.5.1
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling serde_derive v1.0.118
[INFO] [stderr]    Compiling serde v1.0.118
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking numtoa v0.1.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking instant v0.1.9
[INFO] [stderr]     Checking lock_api v0.4.2
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking unicode-segmentation v1.7.1
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking signal-hook-registry v1.2.2
[INFO] [stderr]     Checking parking_lot_core v0.8.2
[INFO] [stderr]     Checking mio v0.7.6
[INFO] [stderr]     Checking termion v1.5.5
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]     Checking signal-hook v0.1.16
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking crossterm v0.18.2
[INFO] [stderr]     Checking tui v0.13.0
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking epc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ClearType`, `Hide`, `Show`, `queue`, and `self`
[INFO] [stdout]  --> src/app.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 |     execute, write_ansi_code, queue,
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 3 |     terminal::{self, EnableLineWrap, EnterAlternateScreen, LeaveAlternateScreen, ClearType, SetTitle },
[INFO] [stdout]   |                                                                                  ^^^^^^^^^
[INFO] [stdout] 4 |     event::{self, Event as CEvent, KeyEvent, KeyCode, KeyModifiers},
[INFO] [stdout] 5 |     cursor::{self, Hide, Show},
[INFO] [stdout]   |              ^^^^  ^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Buffer`, `Cell`, `Row`, `StyledGrapheme`, `TerminalOptions`, `Text`, `Viewport`, and `Widget`
[INFO] [stdout]   --> src/app.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 |     terminal::{Terminal, TerminalOptions, Frame, Viewport},
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^         ^^^^^^^^
[INFO] [stdout] 11 |     text::{Text, Span, Spans, StyledGrapheme},
[INFO] [stdout]    |            ^^^^               ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     buffer::{Buffer, Cell,},
[INFO] [stdout]    |              ^^^^^^  ^^^^
[INFO] [stdout] 13 |     widgets::{Tabs, Row, Paragraph, Widget, Block, Borders, Wrap},
[INFO] [stdout]    |                     ^^^             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Read`
[INFO] [stdout]   --> src/app.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{self, Read, Write, Stdout},
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 18 |     borrow::Cow,
[INFO] [stdout] 19 |     path::{PathBuf, Path},
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/app.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | use chrono::{DateTime, Local, Duration};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Directions::*`
[INFO] [stdout]   --> src/app.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             use Directions::*;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs` and `io`
[INFO] [stdout]  --> src/cmd.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{io, fs, path::PathBuf, process};
[INFO] [stdout]   |           ^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]  --> src/error.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, io, fs};
[INFO] [stdout]   |                    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClearType`, `Hide`, `Show`, `queue`, and `self`
[INFO] [stdout]  --> src/app.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 |     execute, write_ansi_code, queue,
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 3 |     terminal::{self, EnableLineWrap, EnterAlternateScreen, LeaveAlternateScreen, ClearType, SetTitle },
[INFO] [stdout]   |                                                                                  ^^^^^^^^^
[INFO] [stdout] 4 |     event::{self, Event as CEvent, KeyEvent, KeyCode, KeyModifiers},
[INFO] [stdout] 5 |     cursor::{self, Hide, Show},
[INFO] [stdout]   |              ^^^^  ^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Buffer`, `Cell`, `Row`, `StyledGrapheme`, `TerminalOptions`, `Text`, `Viewport`, and `Widget`
[INFO] [stdout]   --> src/app.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 |     terminal::{Terminal, TerminalOptions, Frame, Viewport},
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^         ^^^^^^^^
[INFO] [stdout] 11 |     text::{Text, Span, Spans, StyledGrapheme},
[INFO] [stdout]    |            ^^^^               ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     buffer::{Buffer, Cell,},
[INFO] [stdout]    |              ^^^^^^  ^^^^
[INFO] [stdout] 13 |     widgets::{Tabs, Row, Paragraph, Widget, Block, Borders, Wrap},
[INFO] [stdout]    |                     ^^^             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Read`
[INFO] [stdout]   --> src/app.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{self, Read, Write, Stdout},
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 18 |     borrow::Cow,
[INFO] [stdout] 19 |     path::{PathBuf, Path},
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/app.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | use chrono::{DateTime, Local, Duration};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Directions::*`
[INFO] [stdout]   --> src/app.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             use Directions::*;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs` and `io`
[INFO] [stdout]  --> src/cmd.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{io, fs, path::PathBuf, process};
[INFO] [stdout]   |           ^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]  --> src/error.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt, io, fs};
[INFO] [stdout]   |                    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/app.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 _ => break,
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/app.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Msg::Key(ev) => {
[INFO] [stdout]     |                 ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 154 |                 Msg::Tick => self.tick(),
[INFO] [stdout]     |                 --------- matches some of the same values
[INFO] [stdout] 155 |                 Msg::Quit => break,
[INFO] [stdout]     |                 --------- matches some of the same values
[INFO] [stdout] 156 |                 _ => break,
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/app.rs:134:41
[INFO] [stdout]     |
[INFO] [stdout] 130 | ...                   Char('c') | Down => {
[INFO] [stdout]     |                                   ---- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 134 | ...                   Char('j') | Down => { self.next_tab(); },
[INFO] [stdout]     |                                   ^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/app.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 147 | ...                   Char('j') | Down => { self.next_tab(); },
[INFO] [stdout]     |                                   ---- matches all the relevant values
[INFO] [stdout] 148 | ...                   Char('k') | Down => { self.prev_tab(); },
[INFO] [stdout]     |                                   ^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/app.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut so = io::stdout();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/app.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let block = Block::default()
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pars`
[INFO] [stdout]    --> src/app.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 let pars = file.split_terminator("\n\n")
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_pars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spans`
[INFO] [stdout]    --> src/app.rs:194:21
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let spans = file.lines().into_iter().map(|ln| {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_spans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spans`
[INFO] [stdout]    --> src/app.rs:206:21
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 let spans = Spans::from(Span::styled("Library",
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_spans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr`
[INFO] [stdout]    --> src/app.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let curr = match self.current {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_curr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr`
[INFO] [stdout]    --> src/app.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let curr = match self.current {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_curr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/app.rs:294:31
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn move_to(&mut self, dir: Directions) -> () {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ch`
[INFO] [stdout]    --> src/app.rs:302:28
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn char(&mut self, ch: char) -> () {}
[INFO] [stdout]     |                            ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/error.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |             Self::Io(ref err) => f.write_str("Error io"),
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `layout` is never read
[INFO] [stdout]   --> src/app.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct App<'a> {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 26 |     layout: Layout,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `debug` and `help` are never read
[INFO] [stdout]   --> src/cmd.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Cmd {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 13 |     help: bool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:105:33
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...                   Self::quit(term);
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                                 let _ = Self::quit(term);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:131:33
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   Self::quit(term);
[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] 131 |                                 let _ = Self::quit(term);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/app.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 _ => break,
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/app.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 Msg::Key(ev) => {
[INFO] [stdout]     |                 ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 154 |                 Msg::Tick => self.tick(),
[INFO] [stdout]     |                 --------- matches some of the same values
[INFO] [stdout] 155 |                 Msg::Quit => break,
[INFO] [stdout]     |                 --------- matches some of the same values
[INFO] [stdout] 156 |                 _ => break,
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/app.rs:134:41
[INFO] [stdout]     |
[INFO] [stdout] 130 | ...                   Char('c') | Down => {
[INFO] [stdout]     |                                   ---- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 134 | ...                   Char('j') | Down => { self.next_tab(); },
[INFO] [stdout]     |                                   ^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/app.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 147 | ...                   Char('j') | Down => { self.next_tab(); },
[INFO] [stdout]     |                                   ---- matches all the relevant values
[INFO] [stdout] 148 | ...                   Char('k') | Down => { self.prev_tab(); },
[INFO] [stdout]     |                                   ^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/app.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut so = io::stdout();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/app.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let block = Block::default()
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pars`
[INFO] [stdout]    --> src/app.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 let pars = file.split_terminator("\n\n")
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_pars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spans`
[INFO] [stdout]    --> src/app.rs:194:21
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let spans = file.lines().into_iter().map(|ln| {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_spans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spans`
[INFO] [stdout]    --> src/app.rs:206:21
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 let spans = Spans::from(Span::styled("Library",
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_spans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr`
[INFO] [stdout]    --> src/app.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let curr = match self.current {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_curr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr`
[INFO] [stdout]    --> src/app.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let curr = match self.current {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_curr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/app.rs:294:31
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn move_to(&mut self, dir: Directions) -> () {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ch`
[INFO] [stdout]    --> src/app.rs:302:28
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn char(&mut self, ch: char) -> () {}
[INFO] [stdout]     |                            ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/error.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |             Self::Io(ref err) => f.write_str("Error io"),
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `layout` is never read
[INFO] [stdout]   --> src/app.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct App<'a> {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 26 |     layout: Layout,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `debug` and `help` are never read
[INFO] [stdout]   --> src/cmd.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Cmd {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 13 |     help: bool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:105:33
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...                   Self::quit(term);
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                                 let _ = Self::quit(term);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:131:33
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   Self::quit(term);
[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] 131 |                                 let _ = Self::quit(term);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.12s
[INFO] running `Command { std: "docker" "inspect" "1eb8ef15d26eeeb76ebf00ec086313720eee1d9df4bf10446ec6ae5887054ca0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1eb8ef15d26eeeb76ebf00ec086313720eee1d9df4bf10446ec6ae5887054ca0", kill_on_drop: false }`
[INFO] [stdout] 1eb8ef15d26eeeb76ebf00ec086313720eee1d9df4bf10446ec6ae5887054ca0
