[INFO] cloning repository https://github.com/wesen/gcode-viz
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wesen/gcode-viz" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwesen%2Fgcode-viz", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwesen%2Fgcode-viz'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 53faf504f82f8fee5aee2fc00883f2c0b8b831bc
[INFO] testing wesen/gcode-viz against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwesen%2Fgcode-viz" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/wesen/gcode-viz on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/wesen/gcode-viz
[INFO] finished tweaking git repo https://github.com/wesen/gcode-viz
[INFO] tweaked toml for git repo https://github.com/wesen/gcode-viz written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/wesen/gcode-viz 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_either v0.2.1
[INFO] [stderr]   Downloaded gray_matter v0.2.4
[INFO] [stderr]   Downloaded tui v0.19.0
[INFO] [stderr]   Downloaded gcode v0.6.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 78725ae77f838d7dcdce7f493d11e7c48c2bd314d8d467aa9c9ecd7632109434
[INFO] running `Command { std: "docker" "start" "-a" "78725ae77f838d7dcdce7f493d11e7c48c2bd314d8d467aa9c9ecd7632109434", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78725ae77f838d7dcdce7f493d11e7c48c2bd314d8d467aa9c9ecd7632109434", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78725ae77f838d7dcdce7f493d11e7c48c2bd314d8d467aa9c9ecd7632109434", kill_on_drop: false }`
[INFO] [stdout] 78725ae77f838d7dcdce7f493d11e7c48c2bd314d8d467aa9c9ecd7632109434
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 896a86ce1b466f5330ede07affa92035a2306cc65740b6d55934fd56a7827b03
[INFO] running `Command { std: "docker" "start" "-a" "896a86ce1b466f5330ede07affa92035a2306cc65740b6d55934fd56a7827b03", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.4
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling serde v1.0.144
[INFO] [stderr]    Compiling tracing-core v0.1.29
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling signal-hook v0.3.14
[INFO] [stderr]    Compiling sharded-slab v0.1.4
[INFO] [stderr]    Compiling thread_local v1.1.4
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling backtrace v0.3.66
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling gimli v0.26.2
[INFO] [stderr]    Compiling eyre v0.6.8
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]    Compiling miniz_oxide v0.5.4
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling object v0.29.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling pulldown-cmark v0.9.2
[INFO] [stderr]    Compiling indenter v0.3.3
[INFO] [stderr]    Compiling owo-colors v3.5.0
[INFO] [stderr]    Compiling os_str_bytes v6.3.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling tracing v0.1.36
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.15
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling textwrap v0.15.1
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling unicode-segmentation v1.10.0
[INFO] [stderr]    Compiling ordered-float v2.10.0
[INFO] [stderr]    Compiling tui v0.19.0
[INFO] [stderr]    Compiling tracing-error v0.2.0
[INFO] [stderr]    Compiling color-spantrace v0.2.0
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling color-eyre v0.6.2
[INFO] [stderr]    Compiling serde_derive v1.0.144
[INFO] [stderr]    Compiling clap_derive v3.2.18
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling tokio v1.21.1
[INFO] [stderr]    Compiling clap v3.2.22
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling gcode v0.6.1
[INFO] [stderr]    Compiling serde_either v0.2.1
[INFO] [stderr]    Compiling gray_matter v0.2.4
[INFO] [stderr]    Compiling gcode-viz v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/gcode/lines.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if let Some(x) = self.comments.pop_if(|c| c.span.line <= first_gcode_line) {
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `PopIf::pop_if(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] help: add `#![feature(vec_pop_if)]` to the crate attributes to enable `std::vec::Vec::<T, A>::pop_if`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(vec_pop_if)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gcode/lines.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(mut lines: I) -> Self {
[INFO] [stdout]    |                ----^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/gcode/lines.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         while let Some(l) = &self.current_line {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Callbacks`, `Comment`
[INFO] [stdout]  --> src/main.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use gcode::{Callbacks, Comment, Nop};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gcode_viz::helpers::PopIf`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gcode_viz::helpers::PopIf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event`
[INFO] [stdout]  --> src/ui/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stdout]  --> src/ui/mod.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/ui/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::app::AppState::Initialized`
[INFO] [stdout]  --> src/ui/app.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ui::app::AppState::Initialized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orig`
[INFO] [stdout]   --> src/main.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let orig = s[span.start..span.end].to_string();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_orig`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut my_iterator = LineIterator::new(lines.take(32));
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_ui` is never used
[INFO] [stdout]   --> src/main.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | async fn run_ui() -> Result<(), eyre::Error> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]   --> src/ui/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn draw<B>(rect: &mut Frame<B>, _app: &App)
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_title` is never used
[INFO] [stdout]   --> src/ui/mod.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn draw_title<'a>() -> Paragraph<'a> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_size` is never used
[INFO] [stdout]   --> src/ui/mod.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn check_size(rect: &Rect) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputEvent` is never used
[INFO] [stdout]   --> src/ui/mod.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum InputEvent {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_ui` is never used
[INFO] [stdout]   --> src/ui/mod.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn start_ui(app: Arc<tokio::sync::Mutex<App>>) -> Result<(), eyre::Error> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ui/actions.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Actions(Vec<Action>);
[INFO] [stdout]    |            ------- ^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Actions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Actions(());
[INFO] [stdout]    |                    ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find` and `actions` are never used
[INFO] [stdout]   --> src/ui/actions.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Actions {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 62 |     /// Give a key, find the corresponding action
[INFO] [stdout] 63 |     pub fn find(&self, key: Key) -> Option<&Action> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn actions(&self) -> &[Action] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Initialized` is never constructed
[INFO] [stdout]   --> src/ui/app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub enum AppState {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 10 |     Init,
[INFO] [stdout] 11 |     Initialized {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/ui/app.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl AppState {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn initialized() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn is_initialized(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn incr_sleep(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn incr_tick(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn count_sleep(&self) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn count_tick(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn duration(&self) -> Option<Duration> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn increment_delay(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn decrement_delay(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Continue` and `Exit` are never constructed
[INFO] [stdout]    --> src/ui/app.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub enum AppReturn {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 105 |     Continue,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 106 |     Exit,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `do_action`, `is_loading`, `dispatch`, `update_on_tick`, and `initialized` are never used
[INFO] [stdout]    --> src/ui/app.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl App {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 110 |     pub fn new(io_tx: tokio::sync::mpsc::Sender<IoEvent>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub async fn do_action(&mut self, key: Key) -> AppReturn {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn is_loading(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn dispatch(&mut self, event: IoEvent) {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn update_on_tick(&mut self) -> AppReturn {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn initialized(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Events` is never constructed
[INFO] [stdout]   --> src/ui/events.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Events {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `close` are never used
[INFO] [stdout]   --> src/ui/events.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Events {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(tick_rate: Duration) -> Events {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub async fn next(&mut self) -> InputEvent {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn close(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Initialize` and `Sleep` are never constructed
[INFO] [stdout]  --> src/ui/io.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum IoEvent {
[INFO] [stdout]   |          ------- variants in this enum
[INFO] [stdout] 8 |     Initialize,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 9 |     Sleep(Duration),
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `IoEvent` 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: struct `IoAsyncHandler` is never constructed
[INFO] [stdout]   --> src/ui/io.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct IoAsyncHandler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `handle_io_event` are never used
[INFO] [stdout]   --> src/ui/io.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl IoAsyncHandler {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(app: Arc<tokio::sync::Mutex<App>>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub async fn handle_io_event(&mut self, io_event: IoEvent) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/ui/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         app.dispatch(IoEvent::Initialize);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.85s
[INFO] running `Command { std: "docker" "inspect" "896a86ce1b466f5330ede07affa92035a2306cc65740b6d55934fd56a7827b03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "896a86ce1b466f5330ede07affa92035a2306cc65740b6d55934fd56a7827b03", kill_on_drop: false }`
[INFO] [stdout] 896a86ce1b466f5330ede07affa92035a2306cc65740b6d55934fd56a7827b03
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8bc6c69af15b3cf39e1f81851f14752eb2d40a3a84aaad7c56af701bcdbaf8f1
[INFO] running `Command { std: "docker" "start" "-a" "8bc6c69af15b3cf39e1f81851f14752eb2d40a3a84aaad7c56af701bcdbaf8f1", kill_on_drop: false }`
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/gcode/lines.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if let Some(x) = self.comments.pop_if(|c| c.span.line <= first_gcode_line) {
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `PopIf::pop_if(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] help: add `#![feature(vec_pop_if)]` to the crate attributes to enable `std::vec::Vec::<T, A>::pop_if`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(vec_pop_if)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gcode/lines.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(mut lines: I) -> Self {
[INFO] [stdout]    |                ----^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/gcode/lines.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         while let Some(l) = &self.current_line {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gcode-viz v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Callbacks`, `Comment`
[INFO] [stdout]  --> src/main.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use gcode::{Callbacks, Comment, Nop};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gcode_viz::helpers::PopIf`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gcode_viz::helpers::PopIf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event`
[INFO] [stdout]  --> src/ui/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stdout]  --> src/ui/mod.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/ui/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::app::AppState::Initialized`
[INFO] [stdout]  --> src/ui/app.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ui::app::AppState::Initialized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/gcode/lines.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if let Some(x) = self.comments.pop_if(|c| c.span.line <= first_gcode_line) {
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `PopIf::pop_if(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] help: add `#![feature(vec_pop_if)]` to the crate attributes to enable `std::vec::Vec::<T, A>::pop_if`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(vec_pop_if)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gcode/lines.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(mut lines: I) -> Self {
[INFO] [stdout]    |                ----^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/gcode/lines.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         while let Some(l) = &self.current_line {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orig`
[INFO] [stdout]   --> src/main.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let orig = s[span.start..span.end].to_string();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_orig`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut my_iterator = LineIterator::new(lines.take(32));
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_ui` is never used
[INFO] [stdout]   --> src/main.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | async fn run_ui() -> Result<(), eyre::Error> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]   --> src/ui/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn draw<B>(rect: &mut Frame<B>, _app: &App)
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_title` is never used
[INFO] [stdout]   --> src/ui/mod.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn draw_title<'a>() -> Paragraph<'a> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_size` is never used
[INFO] [stdout]   --> src/ui/mod.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn check_size(rect: &Rect) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputEvent` is never used
[INFO] [stdout]   --> src/ui/mod.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum InputEvent {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_ui` is never used
[INFO] [stdout]   --> src/ui/mod.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn start_ui(app: Arc<tokio::sync::Mutex<App>>) -> Result<(), eyre::Error> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `actions` is never used
[INFO] [stdout]   --> src/ui/actions.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Actions {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn actions(&self) -> &[Action] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Initialized` is never constructed
[INFO] [stdout]   --> src/ui/app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub enum AppState {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 10 |     Init,
[INFO] [stdout] 11 |     Initialized {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/ui/app.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl AppState {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn initialized() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn is_initialized(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn incr_sleep(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn incr_tick(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn count_sleep(&self) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn count_tick(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn duration(&self) -> Option<Duration> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn increment_delay(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn decrement_delay(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Continue` and `Exit` are never constructed
[INFO] [stdout]    --> src/ui/app.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub enum AppReturn {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 105 |     Continue,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 106 |     Exit,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `do_action`, `is_loading`, `dispatch`, `update_on_tick`, and `initialized` are never used
[INFO] [stdout]    --> src/ui/app.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl App {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 110 |     pub fn new(io_tx: tokio::sync::mpsc::Sender<IoEvent>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub async fn do_action(&mut self, key: Key) -> AppReturn {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn is_loading(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn dispatch(&mut self, event: IoEvent) {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn update_on_tick(&mut self) -> AppReturn {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn initialized(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Events` is never constructed
[INFO] [stdout]   --> src/ui/events.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Events {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `close` are never used
[INFO] [stdout]   --> src/ui/events.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Events {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(tick_rate: Duration) -> Events {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub async fn next(&mut self) -> InputEvent {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn close(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Initialize` and `Sleep` are never constructed
[INFO] [stdout]  --> src/ui/io.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum IoEvent {
[INFO] [stdout]   |          ------- variants in this enum
[INFO] [stdout] 8 |     Initialize,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 9 |     Sleep(Duration),
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `IoEvent` 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: struct `IoAsyncHandler` is never constructed
[INFO] [stdout]   --> src/ui/io.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct IoAsyncHandler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `handle_io_event` are never used
[INFO] [stdout]   --> src/ui/io.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl IoAsyncHandler {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(app: Arc<tokio::sync::Mutex<App>>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub async fn handle_io_event(&mut self, io_event: IoEvent) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/ui/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         app.dispatch(IoEvent::Initialize);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.91s
[INFO] running `Command { std: "docker" "inspect" "8bc6c69af15b3cf39e1f81851f14752eb2d40a3a84aaad7c56af701bcdbaf8f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bc6c69af15b3cf39e1f81851f14752eb2d40a3a84aaad7c56af701bcdbaf8f1", kill_on_drop: false }`
[INFO] [stdout] 8bc6c69af15b3cf39e1f81851f14752eb2d40a3a84aaad7c56af701bcdbaf8f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 86e68f3531f98dd808a1497e1769edbf652a0fb216f8a9c3026112519b7d839d
[INFO] running `Command { std: "docker" "start" "-a" "86e68f3531f98dd808a1497e1769edbf652a0fb216f8a9c3026112519b7d839d", kill_on_drop: false }`
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/gcode/lines.rs:58:44
[INFO] [stderr]    |
[INFO] [stderr] 58 |             if let Some(x) = self.comments.pop_if(|c| c.span.line <= first_gcode_line) {
[INFO] [stderr]    |                                            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr]    = help: call with fully qualified syntax `PopIf::pop_if(...)` to keep using the current method
[INFO] [stderr]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stderr] help: add `#![feature(vec_pop_if)]` to the crate attributes to enable `std::vec::Vec::<T, A>::pop_if`
[INFO] [stderr]   --> src/lib.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  + #![feature(vec_pop_if)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gcode/lines.rs:22:16
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn new(mut lines: I) -> Self {
[INFO] [stderr]    |                ----^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `l`
[INFO] [stderr]   --> src/gcode/lines.rs:50:24
[INFO] [stderr]    |
[INFO] [stderr] 50 |         while let Some(l) = &self.current_line {
[INFO] [stderr]    |                        ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gcode-viz` (lib) generated 3 warnings (run `cargo fix --lib -p gcode-viz` to apply 1 suggestion)
[INFO] [stderr] warning: `gcode-viz` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr] warning: unused imports: `Callbacks`, `Comment`
[INFO] [stderr]  --> src/main.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 | use gcode::{Callbacks, Comment, Nop};
[INFO] [stderr]   |             ^^^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `gcode_viz::helpers::PopIf`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use gcode_viz::helpers::PopIf;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crossterm::event`
[INFO] [stderr]  --> src/ui/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crossterm::event;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stderr]  --> src/ui/mod.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stderr]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]   --> src/ui/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::thread;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ui::app::AppState::Initialized`
[INFO] [stderr]  --> src/ui/app.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::ui::app::AppState::Initialized;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `orig`
[INFO] [stderr]   --> src/main.rs:71:21
[INFO] [stderr]    |
[INFO] [stderr] 71 |                 let orig = s[span.start..span.end].to_string();
[INFO] [stderr]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_orig`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:66:13
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let mut my_iterator = LineIterator::new(lines.take(32));
[INFO] [stderr]    |             ----^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_ui` is never used
[INFO] [stderr]   --> src/main.rs:31:10
[INFO] [stderr]    |
[INFO] [stderr] 31 | async fn run_ui() -> Result<(), eyre::Error> {
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `draw` is never used
[INFO] [stderr]   --> src/ui/mod.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn draw<B>(rect: &mut Frame<B>, _app: &App)
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `draw_title` is never used
[INFO] [stderr]   --> src/ui/mod.rs:41:4
[INFO] [stderr]    |
[INFO] [stderr] 41 | fn draw_title<'a>() -> Paragraph<'a> {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_size` is never used
[INFO] [stderr]   --> src/ui/mod.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn check_size(rect: &Rect) {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `InputEvent` is never used
[INFO] [stderr]   --> src/ui/mod.rs:59:10
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub enum InputEvent {
[INFO] [stderr]    |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `start_ui` is never used
[INFO] [stderr]   --> src/ui/mod.rs:66:14
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub async fn start_ui(app: Arc<tokio::sync::Mutex<App>>) -> Result<(), eyre::Error> {
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `actions` is never used
[INFO] [stderr]   --> src/ui/actions.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 61 | impl Actions {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn actions(&self) -> &[Action] {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Initialized` is never constructed
[INFO] [stderr]   --> src/ui/app.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 9  | pub enum AppState {
[INFO] [stderr]    |          -------- variant in this enum
[INFO] [stderr] 10 |     Init,
[INFO] [stderr] 11 |     Initialized {
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/ui/app.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl AppState {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 19 |     pub fn initialized() -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub fn is_initialized(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn incr_sleep(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn incr_tick(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46 |     pub fn count_sleep(&self) -> Option<u32> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn count_tick(&self) -> Option<u64> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn duration(&self) -> Option<Duration> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub fn increment_delay(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub fn decrement_delay(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Continue` and `Exit` are never constructed
[INFO] [stderr]    --> src/ui/app.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub enum AppReturn {
[INFO] [stderr]     |          --------- variants in this enum
[INFO] [stderr] 105 |     Continue,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 106 |     Exit,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AppReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `do_action`, `is_loading`, `dispatch`, `update_on_tick`, and `initialized` are never used
[INFO] [stderr]    --> src/ui/app.rs:110:12
[INFO] [stderr]     |
[INFO] [stderr] 109 | impl App {
[INFO] [stderr]     | -------- associated items in this implementation
[INFO] [stderr] 110 |     pub fn new(io_tx: tokio::sync::mpsc::Sender<IoEvent>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     pub async fn do_action(&mut self, key: Key) -> AppReturn {
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 144 |     pub fn is_loading(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 149 |     pub async fn dispatch(&mut self, event: IoEvent) {
[INFO] [stderr]     |                  ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 157 |     pub fn update_on_tick(&mut self) -> AppReturn {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     pub fn initialized(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Events` is never constructed
[INFO] [stderr]   --> src/ui/events.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct Events {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `next`, and `close` are never used
[INFO] [stderr]   --> src/ui/events.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl Events {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr] 20 |     pub fn new(tick_rate: Duration) -> Events {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub async fn next(&mut self) -> InputEvent {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn close(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Initialize` and `Sleep` are never constructed
[INFO] [stderr]  --> src/ui/io.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum IoEvent {
[INFO] [stderr]   |          ------- variants in this enum
[INFO] [stderr] 8 |     Initialize,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 9 |     Sleep(Duration),
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `IoEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `IoAsyncHandler` is never constructed
[INFO] [stderr]   --> src/ui/io.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct IoAsyncHandler {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `handle_io_event` are never used
[INFO] [stderr]   --> src/ui/io.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl IoAsyncHandler {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 17 |     pub fn new(app: Arc<tokio::sync::Mutex<App>>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     pub async fn handle_io_event(&mut self, io_event: IoEvent) {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused implementer of `Future` that must be used
[INFO] [stderr]   --> src/ui/mod.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         app.dispatch(IoEvent::Initialize);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gcode-viz` (bin "gcode-viz" test) generated 25 warnings (run `cargo fix --bin "gcode-viz" --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gcode_viz-2b86e0d93cfae616)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gcode_viz-32e61fe3ce6c46e3)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test ui::actions::tests::should_find_action_by_key ... ok
[INFO] [stdout] test ui::actions::tests::should_find_action_by_key_not_ofund ... ok
[INFO] [stdout] test ui::actions::tests::should_create_actions_from_vect ... ok
[INFO] [stdout] test ui::actions::tests::should_panic_if_two_actions_have_the_same_key - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gcode_viz
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/helpers/mod.rs - helpers::PopIf::pop_if (line 11) ... FAILED
[INFO] [stdout] test src/helpers/mod.rs - helpers::Vec<A>::pop_if (line 33) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/helpers/mod.rs - helpers::PopIf::pop_if (line 11) stdout ----
[INFO] [stdout] error[E0658]: use of unstable library feature 'vec_pop_if'
[INFO] [stdout]  --> src/helpers/mod.rs:14:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | let e = x.pop_if(|x| *x < 2u32);
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #122741 <https://github.com/rust-lang/rust/issues/122741> for more information
[INFO] [stdout]   = help: add `#![feature(vec_pop_if)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-05-15; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'vec_pop_if'
[INFO] [stdout]  --> src/helpers/mod.rs:16:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | let e = x.pop_if(|x| *x < 2u32);
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #122741 <https://github.com/rust-lang/rust/issues/122741> for more information
[INFO] [stdout]   = help: add `#![feature(vec_pop_if)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-05-15; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'vec_pop_if'
[INFO] [stdout]  --> src/helpers/mod.rs:18:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | let e = x.pop_if(|x| *x < 2u32);
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #122741 <https://github.com/rust-lang/rust/issues/122741> for more information
[INFO] [stdout]   = help: add `#![feature(vec_pop_if)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-05-15; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0658`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/helpers/mod.rs - helpers::PopIf::pop_if (line 11)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "86e68f3531f98dd808a1497e1769edbf652a0fb216f8a9c3026112519b7d839d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86e68f3531f98dd808a1497e1769edbf652a0fb216f8a9c3026112519b7d839d", kill_on_drop: false }`
[INFO] [stdout] 86e68f3531f98dd808a1497e1769edbf652a0fb216f8a9c3026112519b7d839d
[INFO] testing wesen/gcode-viz against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwesen%2Fgcode-viz" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/wesen/gcode-viz on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/wesen/gcode-viz
[INFO] finished tweaking git repo https://github.com/wesen/gcode-viz
[INFO] tweaked toml for git repo https://github.com/wesen/gcode-viz written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/wesen/gcode-viz 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" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c652377627acd813bc107a8182957b17f678e05cb5d79ae6fd38ce276b5fe85b
[INFO] running `Command { std: "docker" "start" "-a" "c652377627acd813bc107a8182957b17f678e05cb5d79ae6fd38ce276b5fe85b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c652377627acd813bc107a8182957b17f678e05cb5d79ae6fd38ce276b5fe85b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c652377627acd813bc107a8182957b17f678e05cb5d79ae6fd38ce276b5fe85b", kill_on_drop: false }`
[INFO] [stdout] c652377627acd813bc107a8182957b17f678e05cb5d79ae6fd38ce276b5fe85b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9b53e3004430ca2a88333c3c29bff4f67de40dba8e91167ea800aabf785c0dfc
[INFO] running `Command { std: "docker" "start" "-a" "9b53e3004430ca2a88333c3c29bff4f67de40dba8e91167ea800aabf785c0dfc", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.4
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling serde v1.0.144
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling tracing-core v0.1.29
[INFO] [stderr]    Compiling signal-hook v0.3.14
[INFO] [stderr]    Compiling sharded-slab v0.1.4
[INFO] [stderr]    Compiling thread_local v1.1.4
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling backtrace v0.3.66
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]    Compiling gimli v0.26.2
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling eyre v0.6.8
[INFO] [stderr]    Compiling miniz_oxide v0.5.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling object v0.29.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling owo-colors v3.5.0
[INFO] [stderr]    Compiling os_str_bytes v6.3.0
[INFO] [stderr]    Compiling pulldown-cmark v0.9.2
[INFO] [stderr]    Compiling indenter v0.3.3
[INFO] [stderr]    Compiling tracing v0.1.36
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.15
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling unicode-segmentation v1.10.0
[INFO] [stderr]    Compiling textwrap v0.15.1
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling tui v0.19.0
[INFO] [stderr]    Compiling ordered-float v2.10.0
[INFO] [stderr]    Compiling tracing-error v0.2.0
[INFO] [stderr]    Compiling color-spantrace v0.2.0
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling color-eyre v0.6.2
[INFO] [stderr]    Compiling serde_derive v1.0.144
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling clap_derive v3.2.18
[INFO] [stderr]    Compiling tokio v1.21.1
[INFO] [stderr]    Compiling clap v3.2.22
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]    Compiling gcode v0.6.1
[INFO] [stderr]    Compiling serde_either v0.2.1
[INFO] [stderr]    Compiling gray_matter v0.2.4
[INFO] [stderr]    Compiling gcode-viz v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/gcode/lines.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if let Some(x) = self.comments.pop_if(|c| c.span.line <= first_gcode_line) {
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `PopIf::pop_if(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] help: add `#![feature(vec_pop_if)]` to the crate attributes to enable `std::vec::Vec::<T, A>::pop_if`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(vec_pop_if)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gcode/lines.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(mut lines: I) -> Self {
[INFO] [stdout]    |                ----^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/gcode/lines.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         while let Some(l) = &self.current_line {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Callbacks`, `Comment`
[INFO] [stdout]  --> src/main.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use gcode::{Callbacks, Comment, Nop};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gcode_viz::helpers::PopIf`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gcode_viz::helpers::PopIf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event`
[INFO] [stdout]  --> src/ui/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stdout]  --> src/ui/mod.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/ui/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::app::AppState::Initialized`
[INFO] [stdout]  --> src/ui/app.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ui::app::AppState::Initialized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orig`
[INFO] [stdout]   --> src/main.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let orig = s[span.start..span.end].to_string();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_orig`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut my_iterator = LineIterator::new(lines.take(32));
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_ui` is never used
[INFO] [stdout]   --> src/main.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | async fn run_ui() -> Result<(), eyre::Error> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]   --> src/ui/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn draw<B>(rect: &mut Frame<B>, _app: &App)
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_title` is never used
[INFO] [stdout]   --> src/ui/mod.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn draw_title<'a>() -> Paragraph<'a> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_size` is never used
[INFO] [stdout]   --> src/ui/mod.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn check_size(rect: &Rect) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputEvent` is never used
[INFO] [stdout]   --> src/ui/mod.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum InputEvent {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_ui` is never used
[INFO] [stdout]   --> src/ui/mod.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn start_ui(app: Arc<tokio::sync::Mutex<App>>) -> Result<(), eyre::Error> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ui/actions.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Actions(Vec<Action>);
[INFO] [stdout]    |            ------- ^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Actions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Actions(());
[INFO] [stdout]    |                    ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find` and `actions` are never used
[INFO] [stdout]   --> src/ui/actions.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Actions {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 62 |     /// Give a key, find the corresponding action
[INFO] [stdout] 63 |     pub fn find(&self, key: Key) -> Option<&Action> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn actions(&self) -> &[Action] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Initialized` is never constructed
[INFO] [stdout]   --> src/ui/app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub enum AppState {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 10 |     Init,
[INFO] [stdout] 11 |     Initialized {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/ui/app.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl AppState {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn initialized() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn is_initialized(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn incr_sleep(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn incr_tick(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn count_sleep(&self) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn count_tick(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn duration(&self) -> Option<Duration> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn increment_delay(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn decrement_delay(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Continue` and `Exit` are never constructed
[INFO] [stdout]    --> src/ui/app.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub enum AppReturn {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 105 |     Continue,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 106 |     Exit,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `do_action`, `is_loading`, `dispatch`, `update_on_tick`, and `initialized` are never used
[INFO] [stdout]    --> src/ui/app.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl App {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 110 |     pub fn new(io_tx: tokio::sync::mpsc::Sender<IoEvent>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub async fn do_action(&mut self, key: Key) -> AppReturn {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn is_loading(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn dispatch(&mut self, event: IoEvent) {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn update_on_tick(&mut self) -> AppReturn {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn initialized(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Events` is never constructed
[INFO] [stdout]   --> src/ui/events.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Events {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `close` are never used
[INFO] [stdout]   --> src/ui/events.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Events {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(tick_rate: Duration) -> Events {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub async fn next(&mut self) -> InputEvent {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn close(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Initialize` and `Sleep` are never constructed
[INFO] [stdout]  --> src/ui/io.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum IoEvent {
[INFO] [stdout]   |          ------- variants in this enum
[INFO] [stdout] 8 |     Initialize,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 9 |     Sleep(Duration),
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `IoEvent` 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: struct `IoAsyncHandler` is never constructed
[INFO] [stdout]   --> src/ui/io.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct IoAsyncHandler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `handle_io_event` are never used
[INFO] [stdout]   --> src/ui/io.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl IoAsyncHandler {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(app: Arc<tokio::sync::Mutex<App>>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub async fn handle_io_event(&mut self, io_event: IoEvent) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/ui/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         app.dispatch(IoEvent::Initialize);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.29s
[INFO] running `Command { std: "docker" "inspect" "9b53e3004430ca2a88333c3c29bff4f67de40dba8e91167ea800aabf785c0dfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b53e3004430ca2a88333c3c29bff4f67de40dba8e91167ea800aabf785c0dfc", kill_on_drop: false }`
[INFO] [stdout] 9b53e3004430ca2a88333c3c29bff4f67de40dba8e91167ea800aabf785c0dfc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 166351031ae0215f79e87e98fff3e11bad05d48843dcde94116d3a9f7433dd04
[INFO] running `Command { std: "docker" "start" "-a" "166351031ae0215f79e87e98fff3e11bad05d48843dcde94116d3a9f7433dd04", kill_on_drop: false }`
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/gcode/lines.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if let Some(x) = self.comments.pop_if(|c| c.span.line <= first_gcode_line) {
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `PopIf::pop_if(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] help: add `#![feature(vec_pop_if)]` to the crate attributes to enable `std::vec::Vec::<T, A>::pop_if`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(vec_pop_if)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gcode/lines.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(mut lines: I) -> Self {
[INFO] [stdout]    |                ----^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/gcode/lines.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         while let Some(l) = &self.current_line {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gcode-viz v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Callbacks`, `Comment`
[INFO] [stdout]  --> src/main.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use gcode::{Callbacks, Comment, Nop};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gcode_viz::helpers::PopIf`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gcode_viz::helpers::PopIf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event`
[INFO] [stdout]  --> src/ui/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stdout]  --> src/ui/mod.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/ui/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::app::AppState::Initialized`
[INFO] [stdout]  --> src/ui/app.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ui::app::AppState::Initialized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/gcode/lines.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if let Some(x) = self.comments.pop_if(|c| c.span.line <= first_gcode_line) {
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `PopIf::pop_if(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] help: add `#![feature(vec_pop_if)]` to the crate attributes to enable `std::vec::Vec::<T, A>::pop_if`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  + #![feature(vec_pop_if)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gcode/lines.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(mut lines: I) -> Self {
[INFO] [stdout]    |                ----^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/gcode/lines.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         while let Some(l) = &self.current_line {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orig`
[INFO] [stdout]   --> src/main.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let orig = s[span.start..span.end].to_string();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_orig`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut my_iterator = LineIterator::new(lines.take(32));
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_ui` is never used
[INFO] [stdout]   --> src/main.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | async fn run_ui() -> Result<(), eyre::Error> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]   --> src/ui/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn draw<B>(rect: &mut Frame<B>, _app: &App)
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_title` is never used
[INFO] [stdout]   --> src/ui/mod.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn draw_title<'a>() -> Paragraph<'a> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_size` is never used
[INFO] [stdout]   --> src/ui/mod.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn check_size(rect: &Rect) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputEvent` is never used
[INFO] [stdout]   --> src/ui/mod.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum InputEvent {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_ui` is never used
[INFO] [stdout]   --> src/ui/mod.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn start_ui(app: Arc<tokio::sync::Mutex<App>>) -> Result<(), eyre::Error> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `actions` is never used
[INFO] [stdout]   --> src/ui/actions.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Actions {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn actions(&self) -> &[Action] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Initialized` is never constructed
[INFO] [stdout]   --> src/ui/app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub enum AppState {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 10 |     Init,
[INFO] [stdout] 11 |     Initialized {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/ui/app.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl AppState {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn initialized() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn is_initialized(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn incr_sleep(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn incr_tick(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn count_sleep(&self) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn count_tick(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn duration(&self) -> Option<Duration> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn increment_delay(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn decrement_delay(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Continue` and `Exit` are never constructed
[INFO] [stdout]    --> src/ui/app.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub enum AppReturn {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 105 |     Continue,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 106 |     Exit,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `do_action`, `is_loading`, `dispatch`, `update_on_tick`, and `initialized` are never used
[INFO] [stdout]    --> src/ui/app.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl App {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 110 |     pub fn new(io_tx: tokio::sync::mpsc::Sender<IoEvent>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub async fn do_action(&mut self, key: Key) -> AppReturn {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn is_loading(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn dispatch(&mut self, event: IoEvent) {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn update_on_tick(&mut self) -> AppReturn {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn initialized(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Events` is never constructed
[INFO] [stdout]   --> src/ui/events.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Events {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `close` are never used
[INFO] [stdout]   --> src/ui/events.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Events {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(tick_rate: Duration) -> Events {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub async fn next(&mut self) -> InputEvent {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn close(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Initialize` and `Sleep` are never constructed
[INFO] [stdout]  --> src/ui/io.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum IoEvent {
[INFO] [stdout]   |          ------- variants in this enum
[INFO] [stdout] 8 |     Initialize,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 9 |     Sleep(Duration),
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `IoEvent` 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: struct `IoAsyncHandler` is never constructed
[INFO] [stdout]   --> src/ui/io.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct IoAsyncHandler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `handle_io_event` are never used
[INFO] [stdout]   --> src/ui/io.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl IoAsyncHandler {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(app: Arc<tokio::sync::Mutex<App>>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub async fn handle_io_event(&mut self, io_event: IoEvent) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/ui/mod.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         app.dispatch(IoEvent::Initialize);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.63s
[INFO] running `Command { std: "docker" "inspect" "166351031ae0215f79e87e98fff3e11bad05d48843dcde94116d3a9f7433dd04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "166351031ae0215f79e87e98fff3e11bad05d48843dcde94116d3a9f7433dd04", kill_on_drop: false }`
[INFO] [stdout] 166351031ae0215f79e87e98fff3e11bad05d48843dcde94116d3a9f7433dd04
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 27381f9e8595a19a7f2e0b8d27b95ef4fbaf01c41680fb753c835bb108a46ffd
[INFO] running `Command { std: "docker" "start" "-a" "27381f9e8595a19a7f2e0b8d27b95ef4fbaf01c41680fb753c835bb108a46ffd", kill_on_drop: false }`
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/gcode/lines.rs:58:44
[INFO] [stderr]    |
[INFO] [stderr] 58 |             if let Some(x) = self.comments.pop_if(|c| c.span.line <= first_gcode_line) {
[INFO] [stderr]    |                                            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr]    = help: call with fully qualified syntax `PopIf::pop_if(...)` to keep using the current method
[INFO] [stderr]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stderr] help: add `#![feature(vec_pop_if)]` to the crate attributes to enable `std::vec::Vec::<T, A>::pop_if`
[INFO] [stderr]   --> src/lib.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  + #![feature(vec_pop_if)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/gcode/lines.rs:22:16
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn new(mut lines: I) -> Self {
[INFO] [stderr]    |                ----^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `l`
[INFO] [stderr]   --> src/gcode/lines.rs:50:24
[INFO] [stderr]    |
[INFO] [stderr] 50 |         while let Some(l) = &self.current_line {
[INFO] [stderr]    |                        ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gcode-viz` (lib) generated 3 warnings (run `cargo fix --lib -p gcode-viz` to apply 1 suggestion)
[INFO] [stderr] warning: `gcode-viz` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr] warning: unused imports: `Callbacks`, `Comment`
[INFO] [stderr]  --> src/main.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 | use gcode::{Callbacks, Comment, Nop};
[INFO] [stderr]   |             ^^^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `gcode_viz::helpers::PopIf`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use gcode_viz::helpers::PopIf;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crossterm::event`
[INFO] [stderr]  --> src/ui/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crossterm::event;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver`, `Sender`, `channel`
[INFO] [stderr]  --> src/ui/mod.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stderr]   |                       ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]   --> src/ui/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::thread;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ui::app::AppState::Initialized`
[INFO] [stderr]  --> src/ui/app.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::ui::app::AppState::Initialized;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `orig`
[INFO] [stderr]   --> src/main.rs:71:21
[INFO] [stderr]    |
[INFO] [stderr] 71 |                 let orig = s[span.start..span.end].to_string();
[INFO] [stderr]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_orig`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:66:13
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let mut my_iterator = LineIterator::new(lines.take(32));
[INFO] [stderr]    |             ----^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_ui` is never used
[INFO] [stderr]   --> src/main.rs:31:10
[INFO] [stderr]    |
[INFO] [stderr] 31 | async fn run_ui() -> Result<(), eyre::Error> {
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `draw` is never used
[INFO] [stderr]   --> src/ui/mod.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn draw<B>(rect: &mut Frame<B>, _app: &App)
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `draw_title` is never used
[INFO] [stderr]   --> src/ui/mod.rs:41:4
[INFO] [stderr]    |
[INFO] [stderr] 41 | fn draw_title<'a>() -> Paragraph<'a> {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_size` is never used
[INFO] [stderr]   --> src/ui/mod.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn check_size(rect: &Rect) {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `InputEvent` is never used
[INFO] [stderr]   --> src/ui/mod.rs:59:10
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub enum InputEvent {
[INFO] [stderr]    |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `start_ui` is never used
[INFO] [stderr]   --> src/ui/mod.rs:66:14
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub async fn start_ui(app: Arc<tokio::sync::Mutex<App>>) -> Result<(), eyre::Error> {
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `actions` is never used
[INFO] [stderr]   --> src/ui/actions.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 61 | impl Actions {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn actions(&self) -> &[Action] {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Initialized` is never constructed
[INFO] [stderr]   --> src/ui/app.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 9  | pub enum AppState {
[INFO] [stderr]    |          -------- variant in this enum
[INFO] [stderr] 10 |     Init,
[INFO] [stderr] 11 |     Initialized {
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/ui/app.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl AppState {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 19 |     pub fn initialized() -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub fn is_initialized(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn incr_sleep(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn incr_tick(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46 |     pub fn count_sleep(&self) -> Option<u32> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn count_tick(&self) -> Option<u64> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn duration(&self) -> Option<Duration> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub fn increment_delay(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub fn decrement_delay(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Continue` and `Exit` are never constructed
[INFO] [stderr]    --> src/ui/app.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub enum AppReturn {
[INFO] [stderr]     |          --------- variants in this enum
[INFO] [stderr] 105 |     Continue,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 106 |     Exit,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AppReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `do_action`, `is_loading`, `dispatch`, `update_on_tick`, and `initialized` are never used
[INFO] [stderr]    --> src/ui/app.rs:110:12
[INFO] [stderr]     |
[INFO] [stderr] 109 | impl App {
[INFO] [stderr]     | -------- associated items in this implementation
[INFO] [stderr] 110 |     pub fn new(io_tx: tokio::sync::mpsc::Sender<IoEvent>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     pub async fn do_action(&mut self, key: Key) -> AppReturn {
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 144 |     pub fn is_loading(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 149 |     pub async fn dispatch(&mut self, event: IoEvent) {
[INFO] [stderr]     |                  ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 157 |     pub fn update_on_tick(&mut self) -> AppReturn {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     pub fn initialized(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Events` is never constructed
[INFO] [stderr]   --> src/ui/events.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct Events {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `next`, and `close` are never used
[INFO] [stderr]   --> src/ui/events.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl Events {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr] 20 |     pub fn new(tick_rate: Duration) -> Events {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub async fn next(&mut self) -> InputEvent {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn close(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Initialize` and `Sleep` are never constructed
[INFO] [stderr]  --> src/ui/io.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum IoEvent {
[INFO] [stderr]   |          ------- variants in this enum
[INFO] [stderr] 8 |     Initialize,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 9 |     Sleep(Duration),
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `IoEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `IoAsyncHandler` is never constructed
[INFO] [stderr]   --> src/ui/io.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct IoAsyncHandler {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `handle_io_event` are never used
[INFO] [stderr]   --> src/ui/io.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl IoAsyncHandler {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 17 |     pub fn new(app: Arc<tokio::sync::Mutex<App>>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     pub async fn handle_io_event(&mut self, io_event: IoEvent) {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused implementer of `Future` that must be used
[INFO] [stderr]   --> src/ui/mod.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         app.dispatch(IoEvent::Initialize);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gcode-viz` (bin "gcode-viz" test) generated 25 warnings (run `cargo fix --bin "gcode-viz" --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gcode_viz-2b86e0d93cfae616)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gcode_viz-32e61fe3ce6c46e3)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test ui::actions::tests::should_create_actions_from_vect ... ok
[INFO] [stdout] test ui::actions::tests::should_find_action_by_key ... ok
[INFO] [stdout] test ui::actions::tests::should_find_action_by_key_not_ofund ... ok
[INFO] [stdout] test ui::actions::tests::should_panic_if_two_actions_have_the_same_key - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gcode_viz
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/helpers/mod.rs - helpers::PopIf::pop_if (line 11) ... FAILED
[INFO] [stdout] test src/helpers/mod.rs - helpers::Vec<A>::pop_if (line 33) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/helpers/mod.rs - helpers::PopIf::pop_if (line 11) stdout ----
[INFO] [stdout] error[E0658]: use of unstable library feature 'vec_pop_if'
[INFO] [stdout]  --> src/helpers/mod.rs:14:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | let e = x.pop_if(|x| *x < 2u32);
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #122741 <https://github.com/rust-lang/rust/issues/122741> for more information
[INFO] [stdout]   = help: add `#![feature(vec_pop_if)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-05-16; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'vec_pop_if'
[INFO] [stdout]  --> src/helpers/mod.rs:16:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | let e = x.pop_if(|x| *x < 2u32);
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #122741 <https://github.com/rust-lang/rust/issues/122741> for more information
[INFO] [stdout]   = help: add `#![feature(vec_pop_if)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-05-16; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'vec_pop_if'
[INFO] [stdout]  --> src/helpers/mod.rs:18:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | let e = x.pop_if(|x| *x < 2u32);
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #122741 <https://github.com/rust-lang/rust/issues/122741> for more information
[INFO] [stdout]   = help: add `#![feature(vec_pop_if)]` to the crate attributes to enable
[INFO] [stdout]   = note: this compiler was built on 2024-05-16; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0658`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/helpers/mod.rs - helpers::PopIf::pop_if (line 11)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "27381f9e8595a19a7f2e0b8d27b95ef4fbaf01c41680fb753c835bb108a46ffd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27381f9e8595a19a7f2e0b8d27b95ef4fbaf01c41680fb753c835bb108a46ffd", kill_on_drop: false }`
[INFO] [stdout] 27381f9e8595a19a7f2e0b8d27b95ef4fbaf01c41680fb753c835bb108a46ffd
