[INFO] cloning repository https://github.com/sinom-e/tui-obj
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sinom-e/tui-obj" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinom-e%2Ftui-obj", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinom-e%2Ftui-obj'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 93e29fb96a8f1d2319ac204740c1298df7c69dbf
[INFO] checking sinom-e/tui-obj against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinom-e%2Ftui-obj" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sinom-e/tui-obj
[INFO] finished tweaking git repo https://github.com/sinom-e/tui-obj
[INFO] tweaked toml for git repo https://github.com/sinom-e/tui-obj written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sinom-e/tui-obj on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sinom-e/tui-obj already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tobj v4.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0fe59279141185c446c44da8a1953ace7cd974eadbb93f400cf03b02dfd3102b
[INFO] running `Command { std: "docker" "start" "-a" "0fe59279141185c446c44da8a1953ace7cd974eadbb93f400cf03b02dfd3102b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0fe59279141185c446c44da8a1953ace7cd974eadbb93f400cf03b02dfd3102b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0fe59279141185c446c44da8a1953ace7cd974eadbb93f400cf03b02dfd3102b", kill_on_drop: false }`
[INFO] [stdout] 0fe59279141185c446c44da8a1953ace7cd974eadbb93f400cf03b02dfd3102b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 74b0306c6f76bbe03eb57c782419cbe889ff934a3c8db3b3aaae80a2c749b0c5
[INFO] running `Command { std: "docker" "start" "-a" "74b0306c6f76bbe03eb57c782419cbe889ff934a3c8db3b3aaae80a2c749b0c5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling serde_derive v1.0.160
[INFO] [stderr]    Compiling parking_lot_core v0.9.7
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling signal-hook v0.3.15
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]     Checking itoa v1.0.6
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking ryu v1.0.13
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking mio v0.8.6
[INFO] [stderr]     Checking getrandom v0.2.9
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]     Checking tobj v4.0.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.26.1
[INFO] [stderr]     Checking ratatui v0.20.1
[INFO] [stderr]     Checking tui_obj v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `cmp`, `error::Error`, `fs`, `sync::Arc`, `sync::Mutex`, `thread`, and `time`
[INFO] [stdout]  --> src/bin/main.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, path::Path, io, io::prelude::*, fs, process::Command, thread, time, cmp, sync::Mutex, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^                                  ^^                    ^^^^^^  ^^^^  ^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis`, `BarChart`, `Cell`, `Chart`, `Context`, `Dataset`, `Gauge`, `LineGauge`, `MapResolution`, `Map`, `Painter`, `Rectangle`, `Row`, `Sparkline`, `TableState`, `Table`, `Wrap`, and `symbols`
[INFO] [stdout]   --> src/bin/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     symbols,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     text::{Span, Spans},
[INFO] [stdout] 13 |     widgets::canvas::{Canvas, Context, Line, Map, MapResolution, Rectangle, Points, Painter},
[INFO] [stdout]    |                               ^^^^^^^        ^^^  ^^^^^^^^^^^^^  ^^^^^^^^^          ^^^^^^^
[INFO] [stdout] 14 |     widgets::{
[INFO] [stdout] 15 |         Axis, BarChart, Block, Borders, BorderType, Cell, Chart, Dataset, Gauge, LineGauge, List, ListItem,
[INFO] [stdout]    |         ^^^^  ^^^^^^^^                              ^^^^  ^^^^^  ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 16 |         ListState, Paragraph, Row, Sparkline, Table, TableState, Tabs, Wrap,
[INFO] [stdout]    |                               ^^^  ^^^^^^^^^  ^^^^^  ^^^^^^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp`, `error::Error`, `fs`, `sync::Arc`, `sync::Mutex`, `thread`, and `time`
[INFO] [stdout]  --> src/bin/main.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, path::Path, io, io::prelude::*, fs, process::Command, thread, time, cmp, sync::Mutex, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^                                  ^^                    ^^^^^^  ^^^^  ^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis`, `BarChart`, `Cell`, `Chart`, `Context`, `Dataset`, `Gauge`, `LineGauge`, `MapResolution`, `Map`, `Painter`, `Rectangle`, `Row`, `Sparkline`, `TableState`, `Table`, `Wrap`, and `symbols`
[INFO] [stdout]   --> src/bin/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     symbols,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     text::{Span, Spans},
[INFO] [stdout] 13 |     widgets::canvas::{Canvas, Context, Line, Map, MapResolution, Rectangle, Points, Painter},
[INFO] [stdout]    |                               ^^^^^^^        ^^^  ^^^^^^^^^^^^^  ^^^^^^^^^          ^^^^^^^
[INFO] [stdout] 14 |     widgets::{
[INFO] [stdout] 15 |         Axis, BarChart, Block, Borders, BorderType, Cell, Chart, Dataset, Gauge, LineGauge, List, ListItem,
[INFO] [stdout]    |         ^^^^  ^^^^^^^^                              ^^^^  ^^^^^  ^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 16 |         ListState, Paragraph, Row, Sparkline, Table, TableState, Tabs, Wrap,
[INFO] [stdout]    |                               ^^^  ^^^^^^^^^  ^^^^^  ^^^^^^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::prelude`
[INFO] [stdout]  --> src/bin/main.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, path::Path, io, io::prelude::*, fs, process::Command, thread, time, cmp, sync::Mutex, sync::Arc};
[INFO] [stdout]   |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut cube = tobj::Model::new(cube_mesh, "cube".to_string());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]    --> src/bin/main.rs:230:22
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let (models, materials) = obj.expect("Failed to load OBJ file");
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor`
[INFO] [stdout]    --> src/bin/main.rs:264:27
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn zoom_in(&mut self, factor: f64) { //viewport control functions
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::prelude`
[INFO] [stdout]  --> src/bin/main.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, path::Path, io, io::prelude::*, fs, process::Command, thread, time, cmp, sync::Mutex, sync::Arc};
[INFO] [stdout]   |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor`
[INFO] [stdout]    --> src/bin/main.rs:268:28
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn zoom_out(&mut self, factor: f64) {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut cube = tobj::Model::new(cube_mesh, "cube".to_string());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exit_res`
[INFO] [stdout]    --> src/bin/main.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let exit_res = run(&mut terminal, app);    
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exit_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]    --> src/bin/main.rs:230:22
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let (models, materials) = obj.expect("Failed to load OBJ file");
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor`
[INFO] [stdout]    --> src/bin/main.rs:264:27
[INFO] [stdout]     |
[INFO] [stdout] 264 |     fn zoom_in(&mut self, factor: f64) { //viewport control functions
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor`
[INFO] [stdout]    --> src/bin/main.rs:268:28
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn zoom_out(&mut self, factor: f64) {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/bin/main.rs:407:37
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn draw_header<B>(f: &mut Frame<B>, app: &mut App, area: Rect) //header bit
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exit_res`
[INFO] [stdout]    --> src/bin/main.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let exit_res = run(&mut terminal, app);    
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exit_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/bin/main.rs:407:37
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn draw_header<B>(f: &mut Frame<B>, app: &mut App, area: Rect) //header bit
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/bin/main.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/bin/main.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |         StatusMode::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 476 |         StatusMode::Open => {
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 488 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/bin/main.rs:505:37
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn draw_footer<B>(f: &mut Frame<B>, app: &mut App, area: Rect) //footer bit
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:567:13
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let mut lines = Spans::from(vec![
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:573:13
[INFO] [stdout]     |
[INFO] [stdout] 573 |         let mut lines_item: ListItem = ListItem::new(lines);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/bin/main.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |         _ => {
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/bin/main.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |         StatusMode::Normal => {
[INFO] [stdout]     |         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 476 |         StatusMode::Open => {
[INFO] [stdout]     |         ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 488 |         _ => {
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/bin/main.rs:505:37
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn draw_footer<B>(f: &mut Frame<B>, app: &mut App, area: Rect) //footer bit
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:597:13
[INFO] [stdout]     |
[INFO] [stdout] 597 |         let mut lines = Spans::from(vec![
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let mut lines_item: ListItem = ListItem::new(lines);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:567:13
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let mut lines = Spans::from(vec![
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:573:13
[INFO] [stdout]     |
[INFO] [stdout] 573 |         let mut lines_item: ListItem = ListItem::new(lines);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:597:13
[INFO] [stdout]     |
[INFO] [stdout] 597 |         let mut lines = Spans::from(vec![
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/main.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let mut lines_item: ListItem = ListItem::new(lines);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/bin/main.rs:785:35
[INFO] [stdout]     |
[INFO] [stdout] 785 | fn draw_help<B>(f: &mut Frame<B>, app: &mut App, area: Rect) //help menu, stored in compiled program as string literal
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unselect` is never used
[INFO] [stdout]   --> src/bin/main.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<T> StateList<T> { //interactive item list
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn unselect(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `VertexList` and `FaceList` are never constructed
[INFO] [stdout]   --> src/bin/main.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | enum AppMode { //app states
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 69 |     VertexList,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 70 |     FaceList,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode` and `input` are never read
[INFO] [stdout]   --> src/bin/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct App<'a> {
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 80 |     pub mode: AppMode,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     input: String, //used for commands
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_tab`, `prev_tab`, and `backup` are never used
[INFO] [stdout]    --> src/bin/main.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl<'a> App<'a> {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn next_tab(&mut self) { //app control functions
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn prev_tab(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn backup(&mut self) { //undo functionality functions; not yet used
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/bin/main.rs:785:35
[INFO] [stdout]     |
[INFO] [stdout] 785 | fn draw_help<B>(f: &mut Frame<B>, app: &mut App, area: Rect) //help menu, stored in compiled program as string literal
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unselect` is never used
[INFO] [stdout]   --> src/bin/main.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<T> StateList<T> { //interactive item list
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn unselect(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `VertexList` and `FaceList` are never constructed
[INFO] [stdout]   --> src/bin/main.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | enum AppMode { //app states
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 69 |     VertexList,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 70 |     FaceList,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode` and `input` are never read
[INFO] [stdout]   --> src/bin/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct App<'a> {
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 80 |     pub mode: AppMode,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     input: String, //used for commands
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_tab`, `prev_tab`, and `backup` are never used
[INFO] [stdout]    --> src/bin/main.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl<'a> App<'a> {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn next_tab(&mut self) { //app control functions
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn prev_tab(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn backup(&mut self) { //undo functionality functions; not yet used
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.30s
[INFO] running `Command { std: "docker" "inspect" "74b0306c6f76bbe03eb57c782419cbe889ff934a3c8db3b3aaae80a2c749b0c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74b0306c6f76bbe03eb57c782419cbe889ff934a3c8db3b3aaae80a2c749b0c5", kill_on_drop: false }`
[INFO] [stdout] 74b0306c6f76bbe03eb57c782419cbe889ff934a3c8db3b3aaae80a2c749b0c5
