[INFO] cloning repository https://github.com/petrctl/terman
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/petrctl/terman" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpetrctl%2Fterman", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpetrctl%2Fterman'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b4688301ead66a7ab9b245130f69a7e457de4f24
[INFO] checking petrctl/terman against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpetrctl%2Fterman" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/petrctl/terman
[INFO] finished tweaking git repo https://github.com/petrctl/terman
[INFO] tweaked toml for git repo https://github.com/petrctl/terman written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/petrctl/terman on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/petrctl/terman 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a847e2d847ff3fe9a764ff655a8f169ec3656eb260751be05f1700db4b576a61
[INFO] running `Command { std: "docker" "start" "-a" "a847e2d847ff3fe9a764ff655a8f169ec3656eb260751be05f1700db4b576a61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a847e2d847ff3fe9a764ff655a8f169ec3656eb260751be05f1700db4b576a61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a847e2d847ff3fe9a764ff655a8f169ec3656eb260751be05f1700db4b576a61", kill_on_drop: false }`
[INFO] [stdout] a847e2d847ff3fe9a764ff655a8f169ec3656eb260751be05f1700db4b576a61
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6981c29a2f6d932f9cde351547c74426f5b38e4a2d41f0d2a86bbf42e1d49214
[INFO] running `Command { std: "docker" "start" "-a" "6981c29a2f6d932f9cde351547c74426f5b38e4a2d41f0d2a86bbf42e1d49214", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.74
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling syn v1.0.39
[INFO] [stderr]    Compiling pin-project-internal v0.4.23
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling proc-macro-nested v0.1.6
[INFO] [stderr]     Checking futures-core v0.3.5
[INFO] [stderr]     Checking once_cell v1.4.1
[INFO] [stderr]     Checking futures-sink v0.3.5
[INFO] [stderr]    Compiling proc-macro-hack v0.5.18
[INFO] [stderr]     Checking futures-channel v0.3.5
[INFO] [stderr]     Checking futures-io v0.3.5
[INFO] [stderr]     Checking futures-task v0.3.5
[INFO] [stderr]     Checking arc-swap v0.4.7
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]    Compiling anyhow v1.0.32
[INFO] [stderr]     Checking pin-project-lite v0.1.7
[INFO] [stderr]     Checking utf8parse v0.2.0
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking flagset v0.3.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking signal-hook-registry v1.2.1
[INFO] [stderr]     Checking errno v0.1.8
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.1
[INFO] [stderr]     Checking termios v0.2.2
[INFO] [stderr]     Checking simple-logging v2.0.2
[INFO] [stderr]     Checking pty v0.2.2
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking vte v0.8.0
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]    Compiling futures-macro v0.3.5
[INFO] [stderr]    Compiling tokio-macros v0.2.5
[INFO] [stderr]     Checking tokio v0.2.22
[INFO] [stderr]     Checking pin-project v0.4.23
[INFO] [stderr]     Checking futures-util v0.3.5
[INFO] [stderr]     Checking futures-executor v0.3.5
[INFO] [stderr]     Checking futures v0.3.5
[INFO] [stderr]     Checking terman v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `RgbColor` and `SpecialColor`
[INFO] [stdout]   --> src/ansi/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         RgbColor,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 22 |         SpecialColor,
[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: `grid::Cell`
[INFO] [stdout]   --> src/screen/renderer.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         grid::Cell,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `task::terminal_task`
[INFO] [stdout]   --> src/term/mod.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use task::terminal_task;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `P`
[INFO] [stdout]  --> src/util/mod.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use point::{Point, P};
[INFO] [stdout]   |                        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RgbColor` and `SpecialColor`
[INFO] [stdout]   --> src/ansi/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         RgbColor,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 22 |         SpecialColor,
[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: `grid::Cell`
[INFO] [stdout]   --> src/screen/renderer.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         grid::Cell,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `task::terminal_task`
[INFO] [stdout]   --> src/term/mod.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use task::terminal_task;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `P`
[INFO] [stdout]  --> src/util/mod.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use point::{Point, P};
[INFO] [stdout]   |                        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/pty/mod.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let flags = if NONBLOCK_AFTER_OPEN {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CursorStyle` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum CursorStyle {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_primitive`, `to_primitive`, `to_blinking`, and `to_static` are never used
[INFO] [stdout]    --> src/ansi/mod.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl CursorStyle {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 119 |     pub fn from_primitive(number: i64) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn to_primitive(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn to_blinking(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn to_static(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClipboardType` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub enum ClipboardType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_primitive` and `to_primitive` are never used
[INFO] [stdout]    --> src/ansi/mod.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl ClipboardType {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 185 |     pub fn from_primitive(byte: u8) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn to_primitive(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TerminalMode` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:220:10
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub enum TerminalMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_primitive` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl TerminalMode {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 241 |     pub fn from_primitive(intermediate: Option<&u8>, number: i64) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClearScreenMode` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:274:10
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub enum ClearScreenMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClearLineMode` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:282:10
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub enum ClearLineMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Attributes` is never constructed
[INFO] [stdout]  --> src/ansi/attributes.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Attributes {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StandardCharset` is never used
[INFO] [stdout]   --> src/ansi/charset.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum StandardCharset {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map` is never used
[INFO] [stdout]   --> src/ansi/charset.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl StandardCharset {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn map(self, c: char) -> char {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CharsetList` is never constructed
[INFO] [stdout]   --> src/ansi/charset.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct CharsetList([StandardCharset; 4]);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Color` is never used
[INFO] [stdout]  --> src/ansi/color.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum Color {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated constants are never used
[INFO] [stdout]   --> src/ansi/color.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Color {
[INFO] [stdout]    | ---------- associated constants in this implementation
[INFO] [stdout] 13 |     pub const Black: Self = Self::Indexed(0);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 14 |     pub const Red: Self = Self::Indexed(1);
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 15 |     pub const Green: Self = Self::Indexed(2);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 16 |     pub const Yellow: Self = Self::Indexed(3);
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 17 |     pub const Blue: Self = Self::Indexed(4);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 18 |     pub const Magenta: Self = Self::Indexed(5);
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 19 |     pub const Cyan: Self = Self::Indexed(6);
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 20 |     pub const White: Self = Self::Indexed(7);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 21 |
[INFO] [stdout] 22 |     pub const BrightBlack: Self = Self::Indexed(8);
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 23 |     pub const BrightRed: Self = Self::Indexed(9);
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 24 |     pub const BrightGreen: Self = Self::Indexed(10);
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 25 |     pub const BrightYellow: Self = Self::Indexed(11);
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub const BrightBlue: Self = Self::Indexed(12);
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 27 |     pub const BrightMagenta: Self = Self::Indexed(13);
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub const BrightCyan: Self = Self::Indexed(14);
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 29 |     pub const BrightWhite: Self = Self::Indexed(15);
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 30 |
[INFO] [stdout] 31 |     pub const Foreground: Self = Self::Special(SpecialColor::Foreground);
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 32 |     pub const Background: Self = Self::Special(SpecialColor::Background);
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 33 |     pub const Cursor: Self = Self::Special(SpecialColor::Cursor);
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RgbColor` is never constructed
[INFO] [stdout]    --> src/ansi/color.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct RgbColor {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpecialColor` is never used
[INFO] [stdout]    --> src/ansi/color.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub enum SpecialColor {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Handler` is never used
[INFO] [stdout]   --> src/ansi/handler.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub trait Handler {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Processor` is never constructed
[INFO] [stdout]   --> src/ansi/processor.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Processor {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `advance` is never used
[INFO] [stdout]   --> src/ansi/processor.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Processor {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 40 |     pub fn advance(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessorState` is never constructed
[INFO] [stdout]   --> src/ansi/processor.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct ProcessorState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Performer` is never constructed
[INFO] [stdout]   --> src/ansi/processor.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Performer<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ansi/processor.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'a> Performer<'a> {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 70 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Renderer` is never constructed
[INFO] [stdout]   --> src/ansi/renderer.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Renderer<'a, W: io::Write>(pub &'a mut W);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_attributes` is never used
[INFO] [stdout]   --> src/ansi/renderer.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<'a, W: io::Write> Renderer<'a, W> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 14 |     pub fn render_attributes(&mut self, attributes: &Attributes) -> io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Attribute` is never used
[INFO] [stdout]  --> src/ansi/sgr.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Attribute {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_color` is never used
[INFO] [stdout]   --> src/ansi/sgr.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn parse_color<'a>(parameters: &mut impl Iterator<Item=&'a i64>) -> Option<Color> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_attributes` is never used
[INFO] [stdout]   --> src/ansi/sgr.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn parse_attributes<'a>(parameters: &mut impl Iterator<Item=&'a i64>) -> Vec<Attribute> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/grid/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Grid {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/grid/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Grid {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 26 |     pub fn new(size: Point) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn add_line(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn point_to_index(&self, p: Point) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn cell(&self, point: Point) -> Option<&Cell> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn cell_mut(&mut self, point: Point) -> Option<&mut Cell> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<BlockwisePointGenerator> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<BlockwisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Line` is never constructed
[INFO] [stdout]  --> src/grid/line.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Line {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/grid/line.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Line {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cell` is never constructed
[INFO] [stdout]  --> src/grid/cell.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Cell {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinewisePointGenerator` is never constructed
[INFO] [stdout]   --> src/grid/iter.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct LinewisePointGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `normalize_range` are never used
[INFO] [stdout]   --> src/grid/iter.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl LinewisePointGenerator {
[INFO] [stdout]    | --------------------------- associated functions in this implementation
[INFO] [stdout] 19 |     pub fn new<R: RangeBounds<Point>>(range: R, size: Point) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn normalize_range<R: RangeBounds<Point>>(range: R, size: Point) -> Range<Point> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockwisePointGenerator` is never constructed
[INFO] [stdout]   --> src/grid/iter.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct BlockwisePointGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `normalize_range` are never used
[INFO] [stdout]   --> src/grid/iter.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl BlockwisePointGenerator {
[INFO] [stdout]    | ---------------------------- associated functions in this implementation
[INFO] [stdout] 75 |     pub fn new<R: RangeBounds<Point>>(range: R, size: Point) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn normalize_range<R: RangeBounds<Point>>(range: R, size: Point) -> Range<Point> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridIterator` is never constructed
[INFO] [stdout]    --> src/grid/iter.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct GridIterator<'a, I: Iterator<Item=Point>>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `selection` and `lines` are never used
[INFO] [stdout]    --> src/grid/iter.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> GridIterator<'a, LinewisePointGenerator>
[INFO] [stdout]     | ------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 123 | {
[INFO] [stdout] 124 |     pub fn selection<R>(grid: &'a Grid, range: R) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn lines<R: RangeBounds<usize>>(grid: &'a Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `block` is never used
[INFO] [stdout]    --> src/grid/iter.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl<'a> GridIterator<'a, BlockwisePointGenerator> {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn block<R: RangeBounds<Point>>(grid: &'a Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridMutIterator` is never constructed
[INFO] [stdout]    --> src/grid/iter.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct GridMutIterator<'a, I: Iterator<Item=Point>>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `selection` and `lines` are never used
[INFO] [stdout]    --> src/grid/iter.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl<'a> GridMutIterator<'a, LinewisePointGenerator>
[INFO] [stdout]     | ---------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 187 | {
[INFO] [stdout] 188 |     pub fn selection<R>(grid: &'a mut Grid, range: R) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn lines<R: RangeBounds<usize>>(grid: &'a mut Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `block` is never used
[INFO] [stdout]    --> src/grid/iter.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 220 | impl<'a> GridMutIterator<'a, BlockwisePointGenerator> {
[INFO] [stdout]     | ----------------------------------------------------- associated function in this implementation
[INFO] [stdout] 221 |     pub fn block<R: RangeBounds<Point>>(grid: &'a mut Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_io_err` is never used
[INFO] [stdout]   --> src/pty/mod.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn wrap_io_err(error: bool) -> io::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PtyFile` is never constructed
[INFO] [stdout]   --> src/pty/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct PtyFile {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pty` is never constructed
[INFO] [stdout]    --> src/pty/mod.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct Pty {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/pty/mod.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl Pty {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 144 |     pub fn new<F: AsRawFd>(file: F) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn open() -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn open_slave(&self) -> Result<RawFd> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn set_size(&mut self, size: Point) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn get_size(&self) -> Result<Point> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn set_mode(&mut self, mode: &Termios) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_mode(&self) -> Result<Termios> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WithPty` is never used
[INFO] [stdout]    --> src/pty/mod.rs:294:11
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub trait WithPty {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split` is never used
[INFO] [stdout]   --> src/pty/split.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn split(pty: Pty) -> (PtyReader, PtyWriter) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PtyReader` is never constructed
[INFO] [stdout]   --> src/pty/split.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct PtyReader {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PtyWriter` is never constructed
[INFO] [stdout]   --> src/pty/split.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct PtyWriter {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Screen` is never constructed
[INFO] [stdout]   --> src/screen/mod.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Screen {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cursor_next`, `cursor_prev`, and `cell` are never used
[INFO] [stdout]   --> src/screen/mod.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Screen {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 43 |     pub fn new(size: Point) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn cursor_next(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn cursor_prev(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn cell<'a>(&'a self, point: Point) -> Option<&'a Cell> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `renderer` is never used
[INFO] [stdout]   --> src/screen/renderer.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn renderer<W: io::Write>(
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenRenderer` is never constructed
[INFO] [stdout]   --> src/screen/renderer.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct ScreenRenderer<W: io::Write> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenRendererNotifier` is never constructed
[INFO] [stdout]   --> src/screen/renderer.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ScreenRendererNotifier {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `notify` is never used
[INFO] [stdout]   --> src/screen/renderer.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl ScreenRendererNotifier {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 50 |     pub async fn notify(&mut self) -> Result<(), ()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_loop` and `render_screen` are never used
[INFO] [stdout]   --> src/screen/renderer.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl<W: io::Write> ScreenRenderer<W> {
[INFO] [stdout]    | ------------------------------------ methods in this implementation
[INFO] [stdout] 58 |     pub async fn run_loop(&mut self) -> io::Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn render_screen(&mut self) -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Terminal` is never constructed
[INFO] [stdout]   --> src/term/mod.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Terminal {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/term/mod.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl Terminal {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  52 |     pub fn spawn(mut command: Command, size: Point) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn alive(&self) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn kill(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn wait<'a>(&'a self) -> fut::Wait<'a> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn pty_read<'a>(&'a self, buf: &'a mut [u8]) -> fut::Read<'a> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn pty_write<'a>(&'a self, buf: &'a [u8]) -> fut::Write<'a> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn pty_flush<'a>(&'a self) -> fut::Flush<'a> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn pty_shutdown<'a>(&'a self) -> fut::Shutdown<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Read` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Read<'a> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Write` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Write<'a> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Flush` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Flush<'a> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shutdown` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Shutdown<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wait` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct Wait<'a> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalTask` is never constructed
[INFO] [stdout]   --> src/term/task.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct TerminalTask<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/term/task.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a> TerminalTask<'a> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 33 |     pub fn new(terminal: &'a Terminal, notifier: ScreenRendererNotifier) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `terminal_task` is never used
[INFO] [stdout]    --> src/term/task.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub async fn terminal_task(terminal: &Terminal, notifier: ScreenRendererNotifier) -> io::Result<ExitStatus> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/util/point.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Point {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/point.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Point {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 27 |     #[inline]
[INFO] [stdout] 28 |     pub fn new(x: usize, y: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `P` is never used
[INFO] [stdout]   --> src/util/point.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn P(x: usize, y: usize) -> Point {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[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] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[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] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[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] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[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] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:68:41
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<BlockwisePointGenerator> {
[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] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<'_, BlockwisePointGenerator> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<BlockwisePointGenerator> {
[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] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<'_, BlockwisePointGenerator> {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(core_intrinsics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: using it is strongly discouraged
[INFO] [stdout]   = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RgbColor` and `SpecialColor`
[INFO] [stdout]   --> src/ansi/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         RgbColor,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 22 |         SpecialColor,
[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: `grid::Cell`
[INFO] [stdout]   --> src/screen/renderer.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         grid::Cell,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `P`
[INFO] [stdout]  --> src/util/mod.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use point::{Point, P};
[INFO] [stdout]   |                        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/pty/mod.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let flags = if NONBLOCK_AFTER_OPEN {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CursorStyle` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum CursorStyle {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_primitive`, `to_primitive`, `to_blinking`, and `to_static` are never used
[INFO] [stdout]    --> src/ansi/mod.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl CursorStyle {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 119 |     pub fn from_primitive(number: i64) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn to_primitive(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn to_blinking(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn to_static(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClipboardType` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub enum ClipboardType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_primitive` and `to_primitive` are never used
[INFO] [stdout]    --> src/ansi/mod.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl ClipboardType {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 185 |     pub fn from_primitive(byte: u8) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn to_primitive(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TerminalMode` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:220:10
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub enum TerminalMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_primitive` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl TerminalMode {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 241 |     pub fn from_primitive(intermediate: Option<&u8>, number: i64) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClearScreenMode` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:274:10
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub enum ClearScreenMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClearLineMode` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:282:10
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub enum ClearLineMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Attributes` is never constructed
[INFO] [stdout]  --> src/ansi/attributes.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Attributes {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StandardCharset` is never used
[INFO] [stdout]   --> src/ansi/charset.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum StandardCharset {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map` is never used
[INFO] [stdout]   --> src/ansi/charset.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl StandardCharset {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn map(self, c: char) -> char {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CharsetList` is never constructed
[INFO] [stdout]   --> src/ansi/charset.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct CharsetList([StandardCharset; 4]);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Handler` is never used
[INFO] [stdout]   --> src/ansi/handler.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub trait Handler {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Processor` is never constructed
[INFO] [stdout]   --> src/ansi/processor.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Processor {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `advance` is never used
[INFO] [stdout]   --> src/ansi/processor.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Processor {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 40 |     pub fn advance(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessorState` is never constructed
[INFO] [stdout]   --> src/ansi/processor.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct ProcessorState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Performer` is never constructed
[INFO] [stdout]   --> src/ansi/processor.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Performer<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ansi/processor.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'a> Performer<'a> {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 70 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Renderer` is never constructed
[INFO] [stdout]   --> src/ansi/renderer.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Renderer<'a, W: io::Write>(pub &'a mut W);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_attributes` is never used
[INFO] [stdout]   --> src/ansi/renderer.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<'a, W: io::Write> Renderer<'a, W> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 14 |     pub fn render_attributes(&mut self, attributes: &Attributes) -> io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/grid/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Grid {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/grid/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Grid {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 26 |     pub fn new(size: Point) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn add_line(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn point_to_index(&self, p: Point) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn cell(&self, point: Point) -> Option<&Cell> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn cell_mut(&mut self, point: Point) -> Option<&mut Cell> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<BlockwisePointGenerator> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<BlockwisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Line` is never constructed
[INFO] [stdout]  --> src/grid/line.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Line {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/grid/line.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Line {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cell` is never constructed
[INFO] [stdout]  --> src/grid/cell.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Cell {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridIterator` is never constructed
[INFO] [stdout]    --> src/grid/iter.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct GridIterator<'a, I: Iterator<Item=Point>>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `selection` and `lines` are never used
[INFO] [stdout]    --> src/grid/iter.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> GridIterator<'a, LinewisePointGenerator>
[INFO] [stdout]     | ------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 123 | {
[INFO] [stdout] 124 |     pub fn selection<R>(grid: &'a Grid, range: R) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn lines<R: RangeBounds<usize>>(grid: &'a Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `block` is never used
[INFO] [stdout]    --> src/grid/iter.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl<'a> GridIterator<'a, BlockwisePointGenerator> {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn block<R: RangeBounds<Point>>(grid: &'a Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridMutIterator` is never constructed
[INFO] [stdout]    --> src/grid/iter.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct GridMutIterator<'a, I: Iterator<Item=Point>>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `selection` and `lines` are never used
[INFO] [stdout]    --> src/grid/iter.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl<'a> GridMutIterator<'a, LinewisePointGenerator>
[INFO] [stdout]     | ---------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 187 | {
[INFO] [stdout] 188 |     pub fn selection<R>(grid: &'a mut Grid, range: R) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn lines<R: RangeBounds<usize>>(grid: &'a mut Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `block` is never used
[INFO] [stdout]    --> src/grid/iter.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 220 | impl<'a> GridMutIterator<'a, BlockwisePointGenerator> {
[INFO] [stdout]     | ----------------------------------------------------- associated function in this implementation
[INFO] [stdout] 221 |     pub fn block<R: RangeBounds<Point>>(grid: &'a mut Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_io_err` is never used
[INFO] [stdout]   --> src/pty/mod.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn wrap_io_err(error: bool) -> io::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PtyFile` is never constructed
[INFO] [stdout]   --> src/pty/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct PtyFile {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pty` is never constructed
[INFO] [stdout]    --> src/pty/mod.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct Pty {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/pty/mod.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl Pty {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 144 |     pub fn new<F: AsRawFd>(file: F) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn open() -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn open_slave(&self) -> Result<RawFd> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn set_size(&mut self, size: Point) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn get_size(&self) -> Result<Point> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn set_mode(&mut self, mode: &Termios) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_mode(&self) -> Result<Termios> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WithPty` is never used
[INFO] [stdout]    --> src/pty/mod.rs:294:11
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub trait WithPty {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split` is never used
[INFO] [stdout]   --> src/pty/split.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn split(pty: Pty) -> (PtyReader, PtyWriter) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PtyReader` is never constructed
[INFO] [stdout]   --> src/pty/split.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct PtyReader {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PtyWriter` is never constructed
[INFO] [stdout]   --> src/pty/split.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct PtyWriter {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Screen` is never constructed
[INFO] [stdout]   --> src/screen/mod.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Screen {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cursor_next`, `cursor_prev`, and `cell` are never used
[INFO] [stdout]   --> src/screen/mod.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Screen {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 43 |     pub fn new(size: Point) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn cursor_next(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn cursor_prev(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn cell<'a>(&'a self, point: Point) -> Option<&'a Cell> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `renderer` is never used
[INFO] [stdout]   --> src/screen/renderer.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn renderer<W: io::Write>(
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenRenderer` is never constructed
[INFO] [stdout]   --> src/screen/renderer.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct ScreenRenderer<W: io::Write> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenRendererNotifier` is never constructed
[INFO] [stdout]   --> src/screen/renderer.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ScreenRendererNotifier {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `notify` is never used
[INFO] [stdout]   --> src/screen/renderer.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl ScreenRendererNotifier {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 50 |     pub async fn notify(&mut self) -> Result<(), ()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_loop` and `render_screen` are never used
[INFO] [stdout]   --> src/screen/renderer.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl<W: io::Write> ScreenRenderer<W> {
[INFO] [stdout]    | ------------------------------------ methods in this implementation
[INFO] [stdout] 58 |     pub async fn run_loop(&mut self) -> io::Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn render_screen(&mut self) -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Terminal` is never constructed
[INFO] [stdout]   --> src/term/mod.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Terminal {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/term/mod.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl Terminal {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  52 |     pub fn spawn(mut command: Command, size: Point) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn alive(&self) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn kill(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn wait<'a>(&'a self) -> fut::Wait<'a> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn pty_read<'a>(&'a self, buf: &'a mut [u8]) -> fut::Read<'a> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn pty_write<'a>(&'a self, buf: &'a [u8]) -> fut::Write<'a> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn pty_flush<'a>(&'a self) -> fut::Flush<'a> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn pty_shutdown<'a>(&'a self) -> fut::Shutdown<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Read` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Read<'a> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Write` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Write<'a> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Flush` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Flush<'a> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shutdown` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Shutdown<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wait` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct Wait<'a> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalTask` is never constructed
[INFO] [stdout]   --> src/term/task.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct TerminalTask<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/term/task.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a> TerminalTask<'a> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 33 |     pub fn new(terminal: &'a Terminal, notifier: ScreenRendererNotifier) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `terminal_task` is never used
[INFO] [stdout]    --> src/term/task.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub async fn terminal_task(terminal: &Terminal, notifier: ScreenRendererNotifier) -> io::Result<ExitStatus> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[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] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[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] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[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] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[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] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:68:41
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<BlockwisePointGenerator> {
[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] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<'_, BlockwisePointGenerator> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<BlockwisePointGenerator> {
[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] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<'_, BlockwisePointGenerator> {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(core_intrinsics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: using it is strongly discouraged
[INFO] [stdout]   = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RgbColor` and `SpecialColor`
[INFO] [stdout]   --> src/ansi/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         RgbColor,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 22 |         SpecialColor,
[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: `grid::Cell`
[INFO] [stdout]   --> src/screen/renderer.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         grid::Cell,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/pty/mod.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let flags = if NONBLOCK_AFTER_OPEN {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `P`
[INFO] [stdout]  --> src/util/mod.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use point::{Point, P};
[INFO] [stdout]   |                        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_non_blocking` is never used
[INFO] [stdout]   --> src/main.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn set_non_blocking(fd: RawFd) -> io::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_primitive`, `to_blinking`, and `to_static` are never used
[INFO] [stdout]    --> src/ansi/mod.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl CursorStyle {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn to_primitive(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn to_blinking(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn to_static(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_primitive` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl ClipboardType {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn to_primitive(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_forward_tabs`, `get_color`, and `reset_all_colors` are never used
[INFO] [stdout]    --> src/ansi/handler.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait Handler {
[INFO] [stdout]     |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn move_forward_tabs(&mut self, count: usize);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn get_color(&mut self, index: u8) -> Option<&RgbColor>;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn reset_all_colors(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tabstops` and `size` are never read
[INFO] [stdout]   --> src/grid/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Grid {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 20 |     data: Vec<Line>,
[INFO] [stdout] 21 |     tabstops: Vec<bool>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     pub size: Point,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Grid` 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: multiple methods are never used
[INFO] [stdout]   --> src/grid/mod.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Grid {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn add_line(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn point_to_index(&self, p: Point) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<BlockwisePointGenerator> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<BlockwisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinewisePointGenerator` is never constructed
[INFO] [stdout]   --> src/grid/iter.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct LinewisePointGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `normalize_range` are never used
[INFO] [stdout]   --> src/grid/iter.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl LinewisePointGenerator {
[INFO] [stdout]    | --------------------------- associated functions in this implementation
[INFO] [stdout] 19 |     pub fn new<R: RangeBounds<Point>>(range: R, size: Point) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn normalize_range<R: RangeBounds<Point>>(range: R, size: Point) -> Range<Point> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockwisePointGenerator` is never constructed
[INFO] [stdout]   --> src/grid/iter.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct BlockwisePointGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `normalize_range` are never used
[INFO] [stdout]   --> src/grid/iter.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl BlockwisePointGenerator {
[INFO] [stdout]    | ---------------------------- associated functions in this implementation
[INFO] [stdout] 75 |     pub fn new<R: RangeBounds<Point>>(range: R, size: Point) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn normalize_range<R: RangeBounds<Point>>(range: R, size: Point) -> Range<Point> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridIterator` is never constructed
[INFO] [stdout]    --> src/grid/iter.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct GridIterator<'a, I: Iterator<Item=Point>>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `selection` and `lines` are never used
[INFO] [stdout]    --> src/grid/iter.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> GridIterator<'a, LinewisePointGenerator>
[INFO] [stdout]     | ------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 123 | {
[INFO] [stdout] 124 |     pub fn selection<R>(grid: &'a Grid, range: R) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn lines<R: RangeBounds<usize>>(grid: &'a Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `block` is never used
[INFO] [stdout]    --> src/grid/iter.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl<'a> GridIterator<'a, BlockwisePointGenerator> {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn block<R: RangeBounds<Point>>(grid: &'a Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridMutIterator` is never constructed
[INFO] [stdout]    --> src/grid/iter.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct GridMutIterator<'a, I: Iterator<Item=Point>>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `selection` and `lines` are never used
[INFO] [stdout]    --> src/grid/iter.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl<'a> GridMutIterator<'a, LinewisePointGenerator>
[INFO] [stdout]     | ---------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 187 | {
[INFO] [stdout] 188 |     pub fn selection<R>(grid: &'a mut Grid, range: R) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn lines<R: RangeBounds<usize>>(grid: &'a mut Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `block` is never used
[INFO] [stdout]    --> src/grid/iter.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 220 | impl<'a> GridMutIterator<'a, BlockwisePointGenerator> {
[INFO] [stdout]     | ----------------------------------------------------- associated function in this implementation
[INFO] [stdout] 221 |     pub fn block<R: RangeBounds<Point>>(grid: &'a mut Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_mode` and `get_mode` are never used
[INFO] [stdout]    --> src/pty/mod.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl Pty {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn set_mode(&mut self, mode: &Termios) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_mode(&self) -> Result<Termios> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dirty` is never read
[INFO] [stdout]   --> src/term/mod.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Terminal {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub dirty: AtomicBool,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pty_shutdown` is never used
[INFO] [stdout]    --> src/term/mod.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl Terminal {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn pty_shutdown<'a>(&'a self) -> fut::Shutdown<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shutdown` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Shutdown<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `P` is never used
[INFO] [stdout]   --> src/util/point.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn P(x: usize, y: usize) -> Point {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[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] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[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] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[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] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[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] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:68:41
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<BlockwisePointGenerator> {
[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] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<'_, BlockwisePointGenerator> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<BlockwisePointGenerator> {
[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] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<'_, BlockwisePointGenerator> {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/pty/mod.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let flags = if NONBLOCK_AFTER_OPEN {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_non_blocking` is never used
[INFO] [stdout]   --> src/main.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn set_non_blocking(fd: RawFd) -> io::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_primitive`, `to_blinking`, and `to_static` are never used
[INFO] [stdout]    --> src/ansi/mod.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl CursorStyle {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn to_primitive(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn to_blinking(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn to_static(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_primitive` is never used
[INFO] [stdout]    --> src/ansi/mod.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl ClipboardType {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn to_primitive(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_forward_tabs`, `get_color`, and `reset_all_colors` are never used
[INFO] [stdout]    --> src/ansi/handler.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait Handler {
[INFO] [stdout]     |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn move_forward_tabs(&mut self, count: usize);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn get_color(&mut self, index: u8) -> Option<&RgbColor>;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn reset_all_colors(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tabstops` and `size` are never read
[INFO] [stdout]   --> src/grid/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Grid {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 20 |     data: Vec<Line>,
[INFO] [stdout] 21 |     tabstops: Vec<bool>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     pub size: Point,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Grid` 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: multiple methods are never used
[INFO] [stdout]   --> src/grid/mod.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Grid {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn add_line(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn point_to_index(&self, p: Point) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<BlockwisePointGenerator> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<BlockwisePointGenerator> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridIterator` is never constructed
[INFO] [stdout]    --> src/grid/iter.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct GridIterator<'a, I: Iterator<Item=Point>>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `selection` and `lines` are never used
[INFO] [stdout]    --> src/grid/iter.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> GridIterator<'a, LinewisePointGenerator>
[INFO] [stdout]     | ------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 123 | {
[INFO] [stdout] 124 |     pub fn selection<R>(grid: &'a Grid, range: R) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn lines<R: RangeBounds<usize>>(grid: &'a Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `block` is never used
[INFO] [stdout]    --> src/grid/iter.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl<'a> GridIterator<'a, BlockwisePointGenerator> {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn block<R: RangeBounds<Point>>(grid: &'a Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridMutIterator` is never constructed
[INFO] [stdout]    --> src/grid/iter.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct GridMutIterator<'a, I: Iterator<Item=Point>>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `selection` and `lines` are never used
[INFO] [stdout]    --> src/grid/iter.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl<'a> GridMutIterator<'a, LinewisePointGenerator>
[INFO] [stdout]     | ---------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 187 | {
[INFO] [stdout] 188 |     pub fn selection<R>(grid: &'a mut Grid, range: R) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn lines<R: RangeBounds<usize>>(grid: &'a mut Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `block` is never used
[INFO] [stdout]    --> src/grid/iter.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 220 | impl<'a> GridMutIterator<'a, BlockwisePointGenerator> {
[INFO] [stdout]     | ----------------------------------------------------- associated function in this implementation
[INFO] [stdout] 221 |     pub fn block<R: RangeBounds<Point>>(grid: &'a mut Grid, range: R) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_mode` and `get_mode` are never used
[INFO] [stdout]    --> src/pty/mod.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl Pty {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn set_mode(&mut self, mode: &Termios) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_mode(&self) -> Result<Termios> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dirty` is never read
[INFO] [stdout]   --> src/term/mod.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Terminal {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub dirty: AtomicBool,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pty_shutdown` is never used
[INFO] [stdout]    --> src/term/mod.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl Terminal {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn pty_shutdown<'a>(&'a self) -> fut::Shutdown<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shutdown` is never constructed
[INFO] [stdout]   --> src/term/futures.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Shutdown<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[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] 52 |     pub fn lines<R: RangeBounds<usize>>(&self, range: R) -> GridIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[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] 56 |     pub fn lines_mut<R: RangeBounds<usize>>(&mut self, range: R) -> GridMutIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<LinewisePointGenerator> {
[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] 60 |     pub fn selection<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<LinewisePointGenerator> {
[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] 64 |     pub fn selection_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<'_, LinewisePointGenerator> {
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:68:41
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<BlockwisePointGenerator> {
[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] 68 |     pub fn block<R: RangeBounds<Point>>(&self, range: R) -> GridIterator<'_, BlockwisePointGenerator> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/grid/mod.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<BlockwisePointGenerator> {
[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] 72 |     pub fn block_mut<R: RangeBounds<Point>>(&mut self, range: R) -> GridMutIterator<'_, BlockwisePointGenerator> {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.19s
[INFO] running `Command { std: "docker" "inspect" "6981c29a2f6d932f9cde351547c74426f5b38e4a2d41f0d2a86bbf42e1d49214", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6981c29a2f6d932f9cde351547c74426f5b38e4a2d41f0d2a86bbf42e1d49214", kill_on_drop: false }`
[INFO] [stdout] 6981c29a2f6d932f9cde351547c74426f5b38e4a2d41f0d2a86bbf42e1d49214
