[INFO] fetching crate diatermi 0.1.3... [INFO] testing diatermi-0.1.3 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate diatermi 0.1.3 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate diatermi 0.1.3 [INFO] finished tweaking crates.io crate diatermi 0.1.3 [INFO] tweaked toml for crates.io crate diatermi 0.1.3 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate diatermi 0.1.3 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 39 packages to latest compatible versions [INFO] [stderr] Adding crossterm v0.27.0 (available: v0.29.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9c1735ebeba8d2ad2b6365a21300c9a87a69f5f124053074d4e3ec39921782d7 [INFO] running `Command { std: "docker" "start" "-a" "9c1735ebeba8d2ad2b6365a21300c9a87a69f5f124053074d4e3ec39921782d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9c1735ebeba8d2ad2b6365a21300c9a87a69f5f124053074d4e3ec39921782d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c1735ebeba8d2ad2b6365a21300c9a87a69f5f124053074d4e3ec39921782d7", kill_on_drop: false }` [INFO] [stdout] 9c1735ebeba8d2ad2b6365a21300c9a87a69f5f124053074d4e3ec39921782d7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] acc428af3be4a1167295c26281cdf10730fc7e8d0db5a8997a9fd11b88d49d92 [INFO] running `Command { std: "docker" "start" "-a" "acc428af3be4a1167295c26281cdf10730fc7e8d0db5a8997a9fd11b88d49d92", kill_on_drop: false }` [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling bitflags v2.9.3 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling diatermi v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crossterm::cursor::MoveTo` [INFO] [stdout] --> src/draw/DrawCommunicator.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | use crossterm::cursor::MoveTo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::cursor::MoveTo` [INFO] [stdout] --> src/draw/DrawCommunicator.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | use crossterm::cursor::MoveTo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DrawObjectTrait`, `Terminal`, and `Vector2` [INFO] [stdout] --> src/draw/DrawTerminal.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DrawCommunicator::DrawHandler` and `Text::Text` [INFO] [stdout] --> src/draw/DrawTerminal.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{DrawCommunicator::DrawHandler, Text::Text}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fmt::format` and `io::stdout` [INFO] [stdout] --> src/draw/Text.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::format, io::stdout}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Print`, `ResetColor`, `SetBackgroundColor`, and `SetForegroundColor` [INFO] [stdout] --> src/draw/Text.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Color, Print, ResetColor, SetBackgroundColor, SetForegroundColor}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Terminal` [INFO] [stdout] --> src/draw/Text.rs:5:51 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `clone` [INFO] [stdout] --> src/terminal.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{clone, io::stdout}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyCode` and `KeyModifiers` [INFO] [stdout] --> src/terminal.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | event::{poll, read, Event, KeyCode, KeyModifiers}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEventKind`, `KeyEvent`, and `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::event::{Event, KeyCode, KeyEvent, KeyEventKind, KeyModifiers}; [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::*` [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use utils::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DrawTrait` [INFO] [stdout] --> src/draw/Text.rs:5:40 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/draw/DrawCommunicator.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | i += 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/draw/DrawCommunicator.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let mut i = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/terminal.rs:223:60 [INFO] [stdout] | [INFO] [stdout] 223 | fn on_event<'a>(&mut self, terminal: &'a mut Terminal, event: Event) -> Terminal { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `terminal` is never read [INFO] [stdout] --> src/terminal.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | terminal = app.on_end(&mut terminal.clone()).clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `DrawCommunicator` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod DrawCommunicator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_communicator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `DrawTerminal` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod DrawTerminal; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_terminal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Text` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub mod Text; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | / crossterm::execute!( [INFO] [stdout] 87 | | stdout, [INFO] [stdout] 88 | | MoveTo( [INFO] [stdout] 89 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 95 | | crossterm::style::ResetColor [INFO] [stdout] 96 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 86 ~ let _ = crossterm::execute!( [INFO] [stdout] 87 | stdout, [INFO] [stdout] ... [INFO] [stdout] 95 | crossterm::style::ResetColor [INFO] [stdout] 96 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | / crossterm::execute!( [INFO] [stdout] 109 | | stdout, [INFO] [stdout] 110 | | MoveTo( [INFO] [stdout] 111 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 117 | | crossterm::style::ResetColor [INFO] [stdout] 118 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 108 ~ let _ = crossterm::execute!( [INFO] [stdout] 109 | stdout, [INFO] [stdout] ... [INFO] [stdout] 117 | crossterm::style::ResetColor [INFO] [stdout] 118 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | / crossterm::execute!( [INFO] [stdout] 136 | | stdout, [INFO] [stdout] 137 | | crossterm::cursor::MoveTo( [INFO] [stdout] 138 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 144 | | crossterm::style::ResetColor [INFO] [stdout] 145 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 ~ let _ = crossterm::execute!( [INFO] [stdout] 136 | stdout, [INFO] [stdout] ... [INFO] [stdout] 144 | crossterm::style::ResetColor [INFO] [stdout] 145 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:164:17 [INFO] [stdout] | [INFO] [stdout] 164 | / crossterm::execute!( [INFO] [stdout] 165 | | stdout, [INFO] [stdout] 166 | | crossterm::cursor::MoveTo( [INFO] [stdout] 167 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 173 | | crossterm::style::ResetColor [INFO] [stdout] 174 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 164 ~ let _ = crossterm::execute!( [INFO] [stdout] 165 | stdout, [INFO] [stdout] ... [INFO] [stdout] 173 | crossterm::style::ResetColor [INFO] [stdout] 174 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawTerminal.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | / crossterm::execute!( [INFO] [stdout] 18 | | stdout(), [INFO] [stdout] 19 | | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 20 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 ~ let _ = crossterm::execute!( [INFO] [stdout] 18 | stdout(), [INFO] [stdout] 19 | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 20 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawTerminal.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | / crossterm::execute!( [INFO] [stdout] 25 | | stdout(), [INFO] [stdout] 26 | | crossterm::cursor::MoveTo(pos.x.try_into().unwrap(), pos.y.try_into().unwrap()), [INFO] [stdout] 27 | | crossterm::style::ResetColor, [INFO] [stdout] 28 | | crossterm::style::Print(" ") [INFO] [stdout] 29 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 24 ~ let _ = crossterm::execute!( [INFO] [stdout] 25 | stdout(), [INFO] [stdout] ... [INFO] [stdout] 28 | crossterm::style::Print(" ") [INFO] [stdout] 29 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | / crossterm::execute!( [INFO] [stdout] 312 | | stdout(), [INFO] [stdout] 313 | | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 314 | | crossterm::cursor::MoveTo(0, 0) [INFO] [stdout] 315 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 311 ~ let _ = crossterm::execute!( [INFO] [stdout] 312 | stdout(), [INFO] [stdout] 313 | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 314 | crossterm::cursor::MoveTo(0, 0) [INFO] [stdout] 315 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:316:5 [INFO] [stdout] | [INFO] [stdout] 316 | crossterm::execute!(stdout(), crossterm::event::EnableMouseCapture); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 316 | let _ = crossterm::execute!(stdout(), crossterm::event::EnableMouseCapture);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | crossterm::execute!(stdout(), crossterm::event::DisableMouseCapture); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 332 | let _ = crossterm::execute!(stdout(), crossterm::event::DisableMouseCapture);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | crossterm::execute!(stdout(), crossterm::cursor::Hide); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Hide);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:365:13 [INFO] [stdout] | [INFO] [stdout] 365 | crossterm::execute!(stdout(), crossterm::cursor::Show); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 365 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Show);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | crossterm::execute!(stdout(), cursor.style); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 367 | let _ = crossterm::execute!(stdout(), cursor.style);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 377 | crossterm::execute!(stdout(), crossterm::cursor::Hide); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 377 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Hide);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | crossterm::execute!(stdout(), style); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 387 | let _ = crossterm::execute!(stdout(), style);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:396:9 [INFO] [stdout] | [INFO] [stdout] 396 | crossterm::execute!(stdout(), crossterm::terminal::SetTitle(title.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 396 | let _ = crossterm::execute!(stdout(), crossterm::terminal::SetTitle(title.to_string()));; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:406:9 [INFO] [stdout] | [INFO] [stdout] 406 | crossterm::execute!(stdout(), crossterm::terminal::SetSize(columns, rows)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 406 | let _ = crossterm::execute!(stdout(), crossterm::terminal::SetSize(columns, rows));; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:415:9 [INFO] [stdout] | [INFO] [stdout] 415 | crossterm::execute!(stdout(), crossterm::cursor::Show); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 415 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Show);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.17s [INFO] running `Command { std: "docker" "inspect" "acc428af3be4a1167295c26281cdf10730fc7e8d0db5a8997a9fd11b88d49d92", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acc428af3be4a1167295c26281cdf10730fc7e8d0db5a8997a9fd11b88d49d92", kill_on_drop: false }` [INFO] [stdout] acc428af3be4a1167295c26281cdf10730fc7e8d0db5a8997a9fd11b88d49d92 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 16127442047bde6e1b531c6d26373e3f8f18b0ad006929dbb64c5e212bb73481 [INFO] running `Command { std: "docker" "start" "-a" "16127442047bde6e1b531c6d26373e3f8f18b0ad006929dbb64c5e212bb73481", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `crossterm::cursor::MoveTo` [INFO] [stdout] --> src/draw/DrawCommunicator.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | use crossterm::cursor::MoveTo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::cursor::MoveTo` [INFO] [stdout] --> src/draw/DrawCommunicator.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | use crossterm::cursor::MoveTo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DrawObjectTrait`, `Terminal`, and `Vector2` [INFO] [stdout] --> src/draw/DrawTerminal.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DrawCommunicator::DrawHandler` and `Text::Text` [INFO] [stdout] --> src/draw/DrawTerminal.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{DrawCommunicator::DrawHandler, Text::Text}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fmt::format` and `io::stdout` [INFO] [stdout] --> src/draw/Text.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::format, io::stdout}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Print`, `ResetColor`, `SetBackgroundColor`, and `SetForegroundColor` [INFO] [stdout] --> src/draw/Text.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Color, Print, ResetColor, SetBackgroundColor, SetForegroundColor}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Terminal` [INFO] [stdout] --> src/draw/Text.rs:5:51 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `clone` [INFO] [stdout] --> src/terminal.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{clone, io::stdout}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyCode` and `KeyModifiers` [INFO] [stdout] --> src/terminal.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | event::{poll, read, Event, KeyCode, KeyModifiers}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEventKind`, `KeyEvent`, and `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::event::{Event, KeyCode, KeyEvent, KeyEventKind, KeyModifiers}; [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::*` [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use utils::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DrawTrait` [INFO] [stdout] --> src/draw/Text.rs:5:40 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/draw/DrawCommunicator.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | i += 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/draw/DrawCommunicator.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let mut i = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/terminal.rs:223:60 [INFO] [stdout] | [INFO] [stdout] 223 | fn on_event<'a>(&mut self, terminal: &'a mut Terminal, event: Event) -> Terminal { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `terminal` is never read [INFO] [stdout] --> src/terminal.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | terminal = app.on_end(&mut terminal.clone()).clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `DrawCommunicator` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod DrawCommunicator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_communicator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `DrawTerminal` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod DrawTerminal; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_terminal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Text` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub mod Text; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `text` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling diatermi v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | / crossterm::execute!( [INFO] [stdout] 87 | | stdout, [INFO] [stdout] 88 | | MoveTo( [INFO] [stdout] 89 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 95 | | crossterm::style::ResetColor [INFO] [stdout] 96 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 86 ~ let _ = crossterm::execute!( [INFO] [stdout] 87 | stdout, [INFO] [stdout] ... [INFO] [stdout] 95 | crossterm::style::ResetColor [INFO] [stdout] 96 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | / crossterm::execute!( [INFO] [stdout] 109 | | stdout, [INFO] [stdout] 110 | | MoveTo( [INFO] [stdout] 111 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 117 | | crossterm::style::ResetColor [INFO] [stdout] 118 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 108 ~ let _ = crossterm::execute!( [INFO] [stdout] 109 | stdout, [INFO] [stdout] ... [INFO] [stdout] 117 | crossterm::style::ResetColor [INFO] [stdout] 118 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | / crossterm::execute!( [INFO] [stdout] 136 | | stdout, [INFO] [stdout] 137 | | crossterm::cursor::MoveTo( [INFO] [stdout] 138 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 144 | | crossterm::style::ResetColor [INFO] [stdout] 145 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 ~ let _ = crossterm::execute!( [INFO] [stdout] 136 | stdout, [INFO] [stdout] ... [INFO] [stdout] 144 | crossterm::style::ResetColor [INFO] [stdout] 145 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:164:17 [INFO] [stdout] | [INFO] [stdout] 164 | / crossterm::execute!( [INFO] [stdout] 165 | | stdout, [INFO] [stdout] 166 | | crossterm::cursor::MoveTo( [INFO] [stdout] 167 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 173 | | crossterm::style::ResetColor [INFO] [stdout] 174 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 164 ~ let _ = crossterm::execute!( [INFO] [stdout] 165 | stdout, [INFO] [stdout] ... [INFO] [stdout] 173 | crossterm::style::ResetColor [INFO] [stdout] 174 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawTerminal.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | / crossterm::execute!( [INFO] [stdout] 18 | | stdout(), [INFO] [stdout] 19 | | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 20 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 ~ let _ = crossterm::execute!( [INFO] [stdout] 18 | stdout(), [INFO] [stdout] 19 | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 20 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawTerminal.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | / crossterm::execute!( [INFO] [stdout] 25 | | stdout(), [INFO] [stdout] 26 | | crossterm::cursor::MoveTo(pos.x.try_into().unwrap(), pos.y.try_into().unwrap()), [INFO] [stdout] 27 | | crossterm::style::ResetColor, [INFO] [stdout] 28 | | crossterm::style::Print(" ") [INFO] [stdout] 29 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 24 ~ let _ = crossterm::execute!( [INFO] [stdout] 25 | stdout(), [INFO] [stdout] ... [INFO] [stdout] 28 | crossterm::style::Print(" ") [INFO] [stdout] 29 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | / crossterm::execute!( [INFO] [stdout] 312 | | stdout(), [INFO] [stdout] 313 | | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 314 | | crossterm::cursor::MoveTo(0, 0) [INFO] [stdout] 315 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 311 ~ let _ = crossterm::execute!( [INFO] [stdout] 312 | stdout(), [INFO] [stdout] 313 | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 314 | crossterm::cursor::MoveTo(0, 0) [INFO] [stdout] 315 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:316:5 [INFO] [stdout] | [INFO] [stdout] 316 | crossterm::execute!(stdout(), crossterm::event::EnableMouseCapture); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 316 | let _ = crossterm::execute!(stdout(), crossterm::event::EnableMouseCapture);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | crossterm::execute!(stdout(), crossterm::event::DisableMouseCapture); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 332 | let _ = crossterm::execute!(stdout(), crossterm::event::DisableMouseCapture);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | crossterm::execute!(stdout(), crossterm::cursor::Hide); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Hide);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:365:13 [INFO] [stdout] | [INFO] [stdout] 365 | crossterm::execute!(stdout(), crossterm::cursor::Show); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 365 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Show);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | crossterm::execute!(stdout(), cursor.style); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 367 | let _ = crossterm::execute!(stdout(), cursor.style);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 377 | crossterm::execute!(stdout(), crossterm::cursor::Hide); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 377 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Hide);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | crossterm::execute!(stdout(), style); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 387 | let _ = crossterm::execute!(stdout(), style);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:396:9 [INFO] [stdout] | [INFO] [stdout] 396 | crossterm::execute!(stdout(), crossterm::terminal::SetTitle(title.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 396 | let _ = crossterm::execute!(stdout(), crossterm::terminal::SetTitle(title.to_string()));; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:406:9 [INFO] [stdout] | [INFO] [stdout] 406 | crossterm::execute!(stdout(), crossterm::terminal::SetSize(columns, rows)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 406 | let _ = crossterm::execute!(stdout(), crossterm::terminal::SetSize(columns, rows));; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:415:9 [INFO] [stdout] | [INFO] [stdout] 415 | crossterm::execute!(stdout(), crossterm::cursor::Show); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 415 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Show);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::cursor::MoveTo` [INFO] [stdout] --> src/draw/DrawCommunicator.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | use crossterm::cursor::MoveTo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::cursor::MoveTo` [INFO] [stdout] --> src/draw/DrawCommunicator.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | use crossterm::cursor::MoveTo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DrawObjectTrait`, `Terminal`, and `Vector2` [INFO] [stdout] --> src/draw/DrawTerminal.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DrawCommunicator::DrawHandler` and `Text::Text` [INFO] [stdout] --> src/draw/DrawTerminal.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{DrawCommunicator::DrawHandler, Text::Text}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fmt::format` and `io::stdout` [INFO] [stdout] --> src/draw/Text.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::format, io::stdout}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Print`, `ResetColor`, `SetBackgroundColor`, and `SetForegroundColor` [INFO] [stdout] --> src/draw/Text.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Color, Print, ResetColor, SetBackgroundColor, SetForegroundColor}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Terminal` [INFO] [stdout] --> src/draw/Text.rs:5:51 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `clone` [INFO] [stdout] --> src/terminal.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{clone, io::stdout}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyCode` and `KeyModifiers` [INFO] [stdout] --> src/terminal.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | event::{poll, read, Event, KeyCode, KeyModifiers}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEventKind`, `KeyEvent`, and `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::event::{Event, KeyCode, KeyEvent, KeyEventKind, KeyModifiers}; [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::*` [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use utils::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DrawTrait` [INFO] [stdout] --> src/draw/Text.rs:5:40 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `i` is never read [INFO] [stdout] --> src/draw/DrawCommunicator.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | i += 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/draw/DrawCommunicator.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let mut i = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/terminal.rs:223:60 [INFO] [stdout] | [INFO] [stdout] 223 | fn on_event<'a>(&mut self, terminal: &'a mut Terminal, event: Event) -> Terminal { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `terminal` is never read [INFO] [stdout] --> src/terminal.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | terminal = app.on_end(&mut terminal.clone()).clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `DrawCommunicator` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod DrawCommunicator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_communicator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `DrawTerminal` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod DrawTerminal; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_terminal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Text` should have a snake case name [INFO] [stdout] --> src/draw/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub mod Text; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | / crossterm::execute!( [INFO] [stdout] 87 | | stdout, [INFO] [stdout] 88 | | MoveTo( [INFO] [stdout] 89 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 95 | | crossterm::style::ResetColor [INFO] [stdout] 96 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 86 ~ let _ = crossterm::execute!( [INFO] [stdout] 87 | stdout, [INFO] [stdout] ... [INFO] [stdout] 95 | crossterm::style::ResetColor [INFO] [stdout] 96 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | / crossterm::execute!( [INFO] [stdout] 109 | | stdout, [INFO] [stdout] 110 | | MoveTo( [INFO] [stdout] 111 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 117 | | crossterm::style::ResetColor [INFO] [stdout] 118 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 108 ~ let _ = crossterm::execute!( [INFO] [stdout] 109 | stdout, [INFO] [stdout] ... [INFO] [stdout] 117 | crossterm::style::ResetColor [INFO] [stdout] 118 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | / crossterm::execute!( [INFO] [stdout] 136 | | stdout, [INFO] [stdout] 137 | | crossterm::cursor::MoveTo( [INFO] [stdout] 138 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 144 | | crossterm::style::ResetColor [INFO] [stdout] 145 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 ~ let _ = crossterm::execute!( [INFO] [stdout] 136 | stdout, [INFO] [stdout] ... [INFO] [stdout] 144 | crossterm::style::ResetColor [INFO] [stdout] 145 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawCommunicator.rs:164:17 [INFO] [stdout] | [INFO] [stdout] 164 | / crossterm::execute!( [INFO] [stdout] 165 | | stdout, [INFO] [stdout] 166 | | crossterm::cursor::MoveTo( [INFO] [stdout] 167 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 173 | | crossterm::style::ResetColor [INFO] [stdout] 174 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 164 ~ let _ = crossterm::execute!( [INFO] [stdout] 165 | stdout, [INFO] [stdout] ... [INFO] [stdout] 173 | crossterm::style::ResetColor [INFO] [stdout] 174 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawTerminal.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | / crossterm::execute!( [INFO] [stdout] 18 | | stdout(), [INFO] [stdout] 19 | | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 20 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 ~ let _ = crossterm::execute!( [INFO] [stdout] 18 | stdout(), [INFO] [stdout] 19 | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 20 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/draw/DrawTerminal.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | / crossterm::execute!( [INFO] [stdout] 25 | | stdout(), [INFO] [stdout] 26 | | crossterm::cursor::MoveTo(pos.x.try_into().unwrap(), pos.y.try_into().unwrap()), [INFO] [stdout] 27 | | crossterm::style::ResetColor, [INFO] [stdout] 28 | | crossterm::style::Print(" ") [INFO] [stdout] 29 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 24 ~ let _ = crossterm::execute!( [INFO] [stdout] 25 | stdout(), [INFO] [stdout] ... [INFO] [stdout] 28 | crossterm::style::Print(" ") [INFO] [stdout] 29 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | / crossterm::execute!( [INFO] [stdout] 312 | | stdout(), [INFO] [stdout] 313 | | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 314 | | crossterm::cursor::MoveTo(0, 0) [INFO] [stdout] 315 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 311 ~ let _ = crossterm::execute!( [INFO] [stdout] 312 | stdout(), [INFO] [stdout] 313 | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stdout] 314 | crossterm::cursor::MoveTo(0, 0) [INFO] [stdout] 315 ~ );; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:316:5 [INFO] [stdout] | [INFO] [stdout] 316 | crossterm::execute!(stdout(), crossterm::event::EnableMouseCapture); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 316 | let _ = crossterm::execute!(stdout(), crossterm::event::EnableMouseCapture);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | crossterm::execute!(stdout(), crossterm::event::DisableMouseCapture); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 332 | let _ = crossterm::execute!(stdout(), crossterm::event::DisableMouseCapture);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | crossterm::execute!(stdout(), crossterm::cursor::Hide); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 363 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Hide);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:365:13 [INFO] [stdout] | [INFO] [stdout] 365 | crossterm::execute!(stdout(), crossterm::cursor::Show); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 365 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Show);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | crossterm::execute!(stdout(), cursor.style); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 367 | let _ = crossterm::execute!(stdout(), cursor.style);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 377 | crossterm::execute!(stdout(), crossterm::cursor::Hide); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 377 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Hide);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | crossterm::execute!(stdout(), style); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 387 | let _ = crossterm::execute!(stdout(), style);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:396:9 [INFO] [stdout] | [INFO] [stdout] 396 | crossterm::execute!(stdout(), crossterm::terminal::SetTitle(title.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 396 | let _ = crossterm::execute!(stdout(), crossterm::terminal::SetTitle(title.to_string()));; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:406:9 [INFO] [stdout] | [INFO] [stdout] 406 | crossterm::execute!(stdout(), crossterm::terminal::SetSize(columns, rows)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 406 | let _ = crossterm::execute!(stdout(), crossterm::terminal::SetSize(columns, rows));; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/terminal.rs:415:9 [INFO] [stdout] | [INFO] [stdout] 415 | crossterm::execute!(stdout(), crossterm::cursor::Show); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 415 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Show);; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s [INFO] running `Command { std: "docker" "inspect" "16127442047bde6e1b531c6d26373e3f8f18b0ad006929dbb64c5e212bb73481", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "16127442047bde6e1b531c6d26373e3f8f18b0ad006929dbb64c5e212bb73481", kill_on_drop: false }` [INFO] [stdout] 16127442047bde6e1b531c6d26373e3f8f18b0ad006929dbb64c5e212bb73481 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5b7a68b2293c3d80f901308d0b6a97a4c7b61700c284457b377f9062c549f1ff [INFO] running `Command { std: "docker" "start" "-a" "5b7a68b2293c3d80f901308d0b6a97a4c7b61700c284457b377f9062c549f1ff", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crossterm::cursor::MoveTo` [INFO] [stderr] --> src/draw/DrawCommunicator.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | use crossterm::cursor::MoveTo; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossterm::cursor::MoveTo` [INFO] [stderr] --> src/draw/DrawCommunicator.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | use crossterm::cursor::MoveTo; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DrawObjectTrait`, `Terminal`, and `Vector2` [INFO] [stderr] --> src/draw/DrawTerminal.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DrawCommunicator::DrawHandler` and `Text::Text` [INFO] [stderr] --> src/draw/DrawTerminal.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | use super::{DrawCommunicator::DrawHandler, Text::Text}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `fmt::format` and `io::stdout` [INFO] [stderr] --> src/draw/Text.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{fmt::format, io::stdout}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Print`, `ResetColor`, `SetBackgroundColor`, and `SetForegroundColor` [INFO] [stderr] --> src/draw/Text.rs:3:31 [INFO] [stderr] | [INFO] [stderr] 3 | use crossterm::style::{Color, Print, ResetColor, SetBackgroundColor, SetForegroundColor}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Terminal` [INFO] [stderr] --> src/draw/Text.rs:5:51 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `clone` [INFO] [stderr] --> src/terminal.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{clone, io::stdout}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `KeyCode` and `KeyModifiers` [INFO] [stderr] --> src/terminal.rs:5:32 [INFO] [stderr] | [INFO] [stderr] 5 | event::{poll, read, Event, KeyCode, KeyModifiers}, [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Event`, `KeyCode`, `KeyEventKind`, `KeyEvent`, and `KeyModifiers` [INFO] [stderr] --> src/utils/mod.rs:16:20 [INFO] [stderr] | [INFO] [stderr] 16 | use crate::event::{Event, KeyCode, KeyEvent, KeyEventKind, KeyModifiers}; [INFO] [stderr] | ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `utils::*` [INFO] [stderr] --> src/lib.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | pub use utils::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DrawTrait` [INFO] [stderr] --> src/draw/Text.rs:5:40 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::terminal::{DrawObjectTrait, DrawTrait, Terminal, Vector2}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `i` is never read [INFO] [stderr] --> src/draw/DrawCommunicator.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | i += 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/draw/DrawCommunicator.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let mut i = 0; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event` [INFO] [stderr] --> src/terminal.rs:223:60 [INFO] [stderr] | [INFO] [stderr] 223 | fn on_event<'a>(&mut self, terminal: &'a mut Terminal, event: Event) -> Terminal { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `terminal` is never read [INFO] [stderr] --> src/terminal.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | terminal = app.on_end(&mut terminal.clone()).clone(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: module `DrawCommunicator` should have a snake case name [INFO] [stderr] --> src/draw/mod.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod DrawCommunicator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_communicator` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: module `DrawTerminal` should have a snake case name [INFO] [stderr] --> src/draw/mod.rs:2:9 [INFO] [stderr] | [INFO] [stderr] 2 | pub mod DrawTerminal; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_terminal` [INFO] [stderr] [INFO] [stderr] warning: module `Text` should have a snake case name [INFO] [stderr] --> src/draw/mod.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | pub mod Text; [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `text` [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/draw/DrawCommunicator.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | / crossterm::execute!( [INFO] [stderr] 87 | | stdout, [INFO] [stderr] 88 | | MoveTo( [INFO] [stderr] 89 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 95 | | crossterm::style::ResetColor [INFO] [stderr] 96 | | ); [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 86 ~ let _ = crossterm::execute!( [INFO] [stderr] 87 | stdout, [INFO] [stderr] ... [INFO] [stderr] 95 | crossterm::style::ResetColor [INFO] [stderr] 96 ~ );; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/draw/DrawCommunicator.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | / crossterm::execute!( [INFO] [stderr] 109 | | stdout, [INFO] [stderr] 110 | | MoveTo( [INFO] [stderr] 111 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 117 | | crossterm::style::ResetColor [INFO] [stderr] 118 | | ); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 108 ~ let _ = crossterm::execute!( [INFO] [stderr] 109 | stdout, [INFO] [stderr] ... [INFO] [stderr] 117 | crossterm::style::ResetColor [INFO] [stderr] 118 ~ );; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/draw/DrawCommunicator.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | / crossterm::execute!( [INFO] [stderr] 136 | | stdout, [INFO] [stderr] 137 | | crossterm::cursor::MoveTo( [INFO] [stderr] 138 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 144 | | crossterm::style::ResetColor [INFO] [stderr] 145 | | ); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 135 ~ let _ = crossterm::execute!( [INFO] [stderr] 136 | stdout, [INFO] [stderr] ... [INFO] [stderr] 144 | crossterm::style::ResetColor [INFO] [stderr] 145 ~ );; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/draw/DrawCommunicator.rs:164:17 [INFO] [stderr] | [INFO] [stderr] 164 | / crossterm::execute!( [INFO] [stderr] 165 | | stdout, [INFO] [stderr] 166 | | crossterm::cursor::MoveTo( [INFO] [stderr] 167 | | self.draws[i].position.x.try_into().unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 173 | | crossterm::style::ResetColor [INFO] [stderr] 174 | | ); [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 164 ~ let _ = crossterm::execute!( [INFO] [stderr] 165 | stdout, [INFO] [stderr] ... [INFO] [stderr] 173 | crossterm::style::ResetColor [INFO] [stderr] 174 ~ );; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/draw/DrawTerminal.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | / crossterm::execute!( [INFO] [stderr] 18 | | stdout(), [INFO] [stderr] 19 | | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stderr] 20 | | ); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 17 ~ let _ = crossterm::execute!( [INFO] [stderr] 18 | stdout(), [INFO] [stderr] 19 | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stderr] 20 ~ );; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/draw/DrawTerminal.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / crossterm::execute!( [INFO] [stderr] 25 | | stdout(), [INFO] [stderr] 26 | | crossterm::cursor::MoveTo(pos.x.try_into().unwrap(), pos.y.try_into().unwrap()), [INFO] [stderr] 27 | | crossterm::style::ResetColor, [INFO] [stderr] 28 | | crossterm::style::Print(" ") [INFO] [stderr] 29 | | ); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 24 ~ let _ = crossterm::execute!( [INFO] [stderr] 25 | stdout(), [INFO] [stderr] ... [INFO] [stderr] 28 | crossterm::style::Print(" ") [INFO] [stderr] 29 ~ );; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:311:5 [INFO] [stderr] | [INFO] [stderr] 311 | / crossterm::execute!( [INFO] [stderr] 312 | | stdout(), [INFO] [stderr] 313 | | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stderr] 314 | | crossterm::cursor::MoveTo(0, 0) [INFO] [stderr] 315 | | ); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 311 ~ let _ = crossterm::execute!( [INFO] [stderr] 312 | stdout(), [INFO] [stderr] 313 | crossterm::terminal::Clear(crossterm::terminal::ClearType::All), [INFO] [stderr] 314 | crossterm::cursor::MoveTo(0, 0) [INFO] [stderr] 315 ~ );; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:316:5 [INFO] [stderr] | [INFO] [stderr] 316 | crossterm::execute!(stdout(), crossterm::event::EnableMouseCapture); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 316 | let _ = crossterm::execute!(stdout(), crossterm::event::EnableMouseCapture);; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:332:5 [INFO] [stderr] | [INFO] [stderr] 332 | crossterm::execute!(stdout(), crossterm::event::DisableMouseCapture); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 332 | let _ = crossterm::execute!(stdout(), crossterm::event::DisableMouseCapture);; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:363:13 [INFO] [stderr] | [INFO] [stderr] 363 | crossterm::execute!(stdout(), crossterm::cursor::Hide); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 363 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Hide);; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:365:13 [INFO] [stderr] | [INFO] [stderr] 365 | crossterm::execute!(stdout(), crossterm::cursor::Show); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 365 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Show);; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:367:9 [INFO] [stderr] | [INFO] [stderr] 367 | crossterm::execute!(stdout(), cursor.style); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 367 | let _ = crossterm::execute!(stdout(), cursor.style);; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:377:9 [INFO] [stderr] | [INFO] [stderr] 377 | crossterm::execute!(stdout(), crossterm::cursor::Hide); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 377 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Hide);; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:387:9 [INFO] [stderr] | [INFO] [stderr] 387 | crossterm::execute!(stdout(), style); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 387 | let _ = crossterm::execute!(stdout(), style);; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:396:9 [INFO] [stderr] | [INFO] [stderr] 396 | crossterm::execute!(stdout(), crossterm::terminal::SetTitle(title.to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 396 | let _ = crossterm::execute!(stdout(), crossterm::terminal::SetTitle(title.to_string()));; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:406:9 [INFO] [stderr] | [INFO] [stderr] 406 | crossterm::execute!(stdout(), crossterm::terminal::SetSize(columns, rows)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 406 | let _ = crossterm::execute!(stdout(), crossterm::terminal::SetSize(columns, rows));; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/terminal.rs:415:9 [INFO] [stderr] | [INFO] [stderr] 415 | crossterm::execute!(stdout(), crossterm::cursor::Show); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 415 | let _ = crossterm::execute!(stdout(), crossterm::cursor::Show);; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: `diatermi` (lib) generated 36 warnings (run `cargo fix --lib -p diatermi` to apply 12 suggestions) [INFO] [stderr] warning: `diatermi` (lib test) generated 36 warnings (36 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/diatermi-8df32f71624d7f6e) [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] [stderr] Doc-tests diatermi [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 41 tests [INFO] [stdout] test src/terminal.rs - terminal::Terminal::set_cursor (line 357) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::CursorConfig (line 268) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::DrawObjectTrait::id (line 90) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::DrawObjectTrait::position (line 83) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::DrawObjectTrait::set_bg_color (line 68) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::DrawObjectTrait::set_position (line 53) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::CursorConfig::new (line 285) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::Terminal::hide_cursor (line 371) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::Terminal::set_size (line 400) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::Terminal::set_cursor_style (line 381) ... FAILED [INFO] [stdout] test src/draw/Text.rs - draw::Text::Text::set_text (line 15) ... FAILED [INFO] [stdout] test src/draw/Text.rs - draw::Text::Text::text (line 24) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::TerminalsEvents::on_start (line 229) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::TerminalsEvents::is_stop (line 255) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::TerminalsEvents::on_end (line 242) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::DrawObjectTrait::new (line 37) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::Terminal::register (line 347) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_press (line 20) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::TerminalsEvents::new (line 182) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::Terminal::show_cursor (line 410) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::Terminal::set_title (line 391) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::DrawObjectTrait::set_color (line 45) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::TerminalsEvents::on_loop (line 198) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::Vector2::new (line 22) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_press_event (line 45) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_release_event (line 216) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_press_event (line 57) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_repeat (line 99) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::DrawObjectTrait::color (line 61) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::text (line 273) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::run (line 299) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_release_event (line 204) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_repeat_event (line 124) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::DrawObjectTrait::bg_color (line 76) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::text (line 277) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_repeat_event (line 136) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::is_key_release (line 178) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::TerminalsEvents::on_event (line 209) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::text (line 281) ... FAILED [INFO] [stdout] test src/terminal.rs - terminal::Terminal (line 116) ... FAILED [INFO] [stdout] test src/utils/mod.rs - utils::vec2 (line 257) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] [stdout] [INFO] [stdout] ---- src/terminal.rs - terminal::Terminal::set_cursor (line 357) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `terminal` in this scope [INFO] [stdout] --> src/terminal.rs:358:1 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.set_cursor(CursorConfig::new(false, SetCursorStyle::BlinkingBar)); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `CursorConfig` [INFO] [stdout] --> src/terminal.rs:358:21 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.set_cursor(CursorConfig::new(false, SetCursorStyle::BlinkingBar)); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `CursorConfig` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::CursorConfig; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SetCursorStyle` [INFO] [stdout] --> src/terminal.rs:358:46 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.set_cursor(CursorConfig::new(false, SetCursorStyle::BlinkingBar)); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type `SetCursorStyle` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::cursor::SetCursorStyle; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::SetCursorStyle; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::CursorConfig (line 268) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `terminal` in this scope [INFO] [stdout] --> src/terminal.rs:269:1 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.set_cursor(/*you config */); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::DrawObjectTrait::id (line 90) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `object` in this scope [INFO] [stdout] --> src/terminal.rs:91:15 [INFO] [stdout] | [INFO] [stdout] 3 | let id_info = object.id(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::DrawObjectTrait::position (line 83) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `object` in this scope [INFO] [stdout] --> src/terminal.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 3 | let position_info = object.position(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::DrawObjectTrait::set_bg_color (line 68) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `you_object` in this scope [INFO] [stdout] --> src/terminal.rs:69:1 [INFO] [stdout] | [INFO] [stdout] 3 | you_object.set_bg_color(Color::Blue); [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Color` [INFO] [stdout] --> src/terminal.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 3 | you_object.set_bg_color(Color::Blue); [INFO] [stdout] | ^^^^^ use of undeclared type `Color` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::style::Color; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Color; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::DrawObjectTrait::set_position (line 53) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `you_object` in this scope [INFO] [stdout] --> src/terminal.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 3 | you_object.set_position(vec2(2,5)); [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `vec2` in this scope [INFO] [stdout] --> src/terminal.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 3 | you_object.set_position(vec2(2,5)); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::CursorConfig::new (line 285) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `CursorConfig` [INFO] [stdout] --> src/terminal.rs:286:1 [INFO] [stdout] | [INFO] [stdout] 3 | CursorConfig::new(false,SetCursorStyle::DefaultUserShape); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `CursorConfig` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::CursorConfig; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SetCursorStyle` [INFO] [stdout] --> src/terminal.rs:286:25 [INFO] [stdout] | [INFO] [stdout] 3 | CursorConfig::new(false,SetCursorStyle::DefaultUserShape); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type `SetCursorStyle` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::cursor::SetCursorStyle; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::SetCursorStyle; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::Terminal::hide_cursor (line 371) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `terminal` in this scope [INFO] [stdout] --> src/terminal.rs:372:1 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.hide_cursor(); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::Terminal::set_size (line 400) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `terminal` in this scope [INFO] [stdout] --> src/terminal.rs:401:1 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.set_size(40,40); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::Terminal::set_cursor_style (line 381) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `terminal` in this scope [INFO] [stdout] --> src/terminal.rs:382:1 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.set_cursor_style(SetCursorStyle::BlinkingBlock); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SetCursorStyle` [INFO] [stdout] --> src/terminal.rs:382:27 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.set_cursor_style(SetCursorStyle::BlinkingBlock); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type `SetCursorStyle` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::cursor::SetCursorStyle; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::SetCursorStyle; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/draw/Text.rs - draw::Text::Text::set_text (line 15) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `object` in this scope [INFO] [stdout] --> src/draw/Text.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 3 | object.set_text(2+2); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/draw/Text.rs - draw::Text::Text::text (line 24) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `object` in this scope [INFO] [stdout] --> src/draw/Text.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 3 | let user_info = object.text(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::TerminalsEvents::on_start (line 229) stdout ---- [INFO] [stdout] error: this file contains an unclosed delimiter [INFO] [stdout] --> src/terminal.rs:232:21 [INFO] [stdout] | [INFO] [stdout] 1 | fn on_start<'a>(&mut self, terminal: &mut Terminal) -> Terminal { [INFO] [stdout] | - unclosed delimiter [INFO] [stdout] 2 | terminal.hide_cursor(); [INFO] [stdout] 3 | terminal.clone() [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::TerminalsEvents::is_stop (line 255) stdout ---- [INFO] [stdout] error: `self` parameter is only allowed in associated functions [INFO] [stdout] --> src/terminal.rs:256:16 [INFO] [stdout] | [INFO] [stdout] 3 | fn is_stop<'a>(&mut self, terminal: &mut Terminal) -> (bool, Terminal) { [INFO] [stdout] | ^^^^^^^^^ not semantically valid as function parameter [INFO] [stdout] | [INFO] [stdout] = note: associated functions are those in `impl` or `trait` definitions [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Terminal` in this scope [INFO] [stdout] --> src/terminal.rs:256:42 [INFO] [stdout] | [INFO] [stdout] 3 | fn is_stop<'a>(&mut self, terminal: &mut Terminal) -> (bool, Terminal) { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Terminal; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Terminal` in this scope [INFO] [stdout] --> src/terminal.rs:256:62 [INFO] [stdout] | [INFO] [stdout] 3 | fn is_stop<'a>(&mut self, terminal: &mut Terminal) -> (bool, Terminal) { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Terminal; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::TerminalsEvents::on_end (line 242) stdout ---- [INFO] [stdout] error: this file contains an unclosed delimiter [INFO] [stdout] --> src/terminal.rs:245:21 [INFO] [stdout] | [INFO] [stdout] 1 | fn on_end<'a>(&mut self, terminal: &mut Terminal) -> Terminal { [INFO] [stdout] | - unclosed delimiter [INFO] [stdout] 2 | terminal.show_cursor(); [INFO] [stdout] 3 | terminal.clone() [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::DrawObjectTrait::new (line 37) stdout ---- [INFO] [stdout] error[E0425]: cannot find crate `new` in the list of imported crates [INFO] [stdout] --> src/terminal.rs:38:62 [INFO] [stdout] | [INFO] [stdout] 3 | let mut object = /*you implementation of DrawObjectTrait*/::new(1/*ID*/); [INFO] [stdout] | ^^^ not found in the list of imported crates [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::Terminal::register (line 347) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `terminal` in this scope [INFO] [stdout] --> src/terminal.rs:349:1 [INFO] [stdout] | [INFO] [stdout] 4 | terminal.register(object.clone()); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `object` in this scope [INFO] [stdout] --> src/terminal.rs:349:19 [INFO] [stdout] | [INFO] [stdout] 4 | terminal.register(object.clone()); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_press (line 20) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 3 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 3 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 4 | code: KeyCode::Char(/*you key*/), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 5 | kind: KeyEventKind::Press, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 6 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `state` in this scope [INFO] [stdout] --> src/utils/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 7 | state, [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::TerminalsEvents::new (line 182) stdout ---- [INFO] [stdout] error[E0405]: cannot find trait `Terminal` in this scope [INFO] [stdout] --> src/terminal.rs:183:6 [INFO] [stdout] | [INFO] [stdout] 3 | impl Terminal for AppName{ [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `AppName` in this scope [INFO] [stdout] --> src/terminal.rs:183:19 [INFO] [stdout] | [INFO] [stdout] 3 | impl Terminal for AppName{ [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0405, E0412. [INFO] [stdout] For more information about an error, try `rustc --explain E0405`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::Terminal::show_cursor (line 410) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `terminal` in this scope [INFO] [stdout] --> src/terminal.rs:411:1 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.show_cursor(); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::Terminal::set_title (line 391) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `terminal` in this scope [INFO] [stdout] --> src/terminal.rs:392:1 [INFO] [stdout] | [INFO] [stdout] 3 | terminal.set_title("Hello from ..."); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::DrawObjectTrait::set_color (line 45) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `you_object` in this scope [INFO] [stdout] --> src/terminal.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 3 | you_object.set_color(Color::Red); [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Color` [INFO] [stdout] --> src/terminal.rs:46:22 [INFO] [stdout] | [INFO] [stdout] 3 | you_object.set_color(Color::Red); [INFO] [stdout] | ^^^^^ use of undeclared type `Color` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::style::Color; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Color; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::TerminalsEvents::on_loop (line 198) stdout ---- [INFO] [stdout] error: `self` parameter is only allowed in associated functions [INFO] [stdout] --> src/terminal.rs:199:16 [INFO] [stdout] | [INFO] [stdout] 3 | fn on_loop<'a>(&mut self, terminal: &'a mut Terminal) -> Terminal { [INFO] [stdout] | ^^^^^^^^^ not semantically valid as function parameter [INFO] [stdout] | [INFO] [stdout] = note: associated functions are those in `impl` or `trait` definitions [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Terminal` in this scope [INFO] [stdout] --> src/terminal.rs:199:45 [INFO] [stdout] | [INFO] [stdout] 3 | fn on_loop<'a>(&mut self, terminal: &'a mut Terminal) -> Terminal { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Terminal; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Terminal` in this scope [INFO] [stdout] --> src/terminal.rs:199:58 [INFO] [stdout] | [INFO] [stdout] 3 | fn on_loop<'a>(&mut self, terminal: &'a mut Terminal) -> Terminal { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Terminal; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::Vector2::new (line 22) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Vector2` in this scope [INFO] [stdout] --> src/terminal.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 3 | let vector:Vector2 = Vector2::new(0,0); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Vector2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Vector2` [INFO] [stdout] --> src/terminal.rs:23:22 [INFO] [stdout] | [INFO] [stdout] 3 | let vector:Vector2 = Vector2::new(0,0); [INFO] [stdout] | ^^^^^^^ use of undeclared type `Vector2` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Vector2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_press_event (line 45) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event` in this scope [INFO] [stdout] --> src/utils/mod.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 3 | match event { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 5 | code: KeyCode::Char(/* you key code */), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 6 | kind: KeyEventKind::Press, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 7 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_release_event (line 216) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event` in this scope [INFO] [stdout] --> src/utils/mod.rs:217:7 [INFO] [stdout] | [INFO] [stdout] 3 | match event { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:218:16 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:219:15 [INFO] [stdout] | [INFO] [stdout] 5 | code: KeyCode::Char(/* you key code */), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:220:15 [INFO] [stdout] | [INFO] [stdout] 6 | kind: KeyEventKind::Release, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:221:20 [INFO] [stdout] | [INFO] [stdout] 7 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_press_event (line 57) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event` in this scope [INFO] [stdout] --> src/utils/mod.rs:58:7 [INFO] [stdout] | [INFO] [stdout] 3 | match event { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:59:16 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 5 | code: KeyCode::Char(/* you key code */), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 6 | kind: KeyEventKind::Press, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:62:20 [INFO] [stdout] | [INFO] [stdout] 7 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_repeat (line 99) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:100:1 [INFO] [stdout] | [INFO] [stdout] 3 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 3 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:101:11 [INFO] [stdout] | [INFO] [stdout] 4 | code: KeyCode::Char(/*you key*/), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:102:11 [INFO] [stdout] | [INFO] [stdout] 5 | kind: KeyEventKind::Repeat, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 6 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `state` in this scope [INFO] [stdout] --> src/utils/mod.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 7 | state, [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::DrawObjectTrait::color (line 61) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `object` in this scope [INFO] [stdout] --> src/terminal.rs:62:18 [INFO] [stdout] | [INFO] [stdout] 3 | let color_info = object.color(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::text (line 273) stdout ---- [INFO] [stdout] error: cannot find macro `text` in this scope [INFO] [stdout] --> src/utils/mod.rs:274:16 [INFO] [stdout] | [INFO] [stdout] 3 | let mut info = text!(0,"this is a example",vec2(0,0)); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::text; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::run (line 299) stdout ---- [INFO] [stdout] error[E0425]: cannot find function `run` in this scope [INFO] [stdout] --> src/terminal.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 5 | run(App::new()); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 3 + use diatermi::run; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `App` [INFO] [stdout] --> src/terminal.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 5 | run(App::new()); [INFO] [stdout] | ^^^ use of undeclared type `App` [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_release_event (line 204) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event` in this scope [INFO] [stdout] --> src/utils/mod.rs:205:7 [INFO] [stdout] | [INFO] [stdout] 3 | match event { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:206:16 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:207:15 [INFO] [stdout] | [INFO] [stdout] 5 | code: KeyCode::Char(/* you key code */), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:208:15 [INFO] [stdout] | [INFO] [stdout] 6 | kind: KeyEventKind::Release, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:209:20 [INFO] [stdout] | [INFO] [stdout] 7 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_repeat_event (line 124) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event` in this scope [INFO] [stdout] --> src/utils/mod.rs:125:7 [INFO] [stdout] | [INFO] [stdout] 3 | match event { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:126:16 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 5 | code: KeyCode::Char(/* you key code */), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:128:15 [INFO] [stdout] | [INFO] [stdout] 6 | kind: KeyEventKind::Repeat, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:129:20 [INFO] [stdout] | [INFO] [stdout] 7 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::DrawObjectTrait::bg_color (line 76) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `object` in this scope [INFO] [stdout] --> src/terminal.rs:77:18 [INFO] [stdout] | [INFO] [stdout] 3 | let color_info = object.bg_color(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::text (line 277) stdout ---- [INFO] [stdout] error: cannot find macro `text` in this scope [INFO] [stdout] --> src/utils/mod.rs:278:16 [INFO] [stdout] | [INFO] [stdout] 3 | let mut info = text!(0,"this is a example"); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::text; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_repeat_event (line 136) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event` in this scope [INFO] [stdout] --> src/utils/mod.rs:137:7 [INFO] [stdout] | [INFO] [stdout] 3 | match event { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:138:16 [INFO] [stdout] | [INFO] [stdout] 4 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:139:15 [INFO] [stdout] | [INFO] [stdout] 5 | code: KeyCode::Char(/* you key code */), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:140:15 [INFO] [stdout] | [INFO] [stdout] 6 | kind: KeyEventKind::Repeat, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:141:20 [INFO] [stdout] | [INFO] [stdout] 7 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::is_key_release (line 178) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Event` [INFO] [stdout] --> src/utils/mod.rs:179:1 [INFO] [stdout] | [INFO] [stdout] 3 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^ use of undeclared type `Event` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `KeyEvent` in this scope [INFO] [stdout] --> src/utils/mod.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 3 | Event::Key(KeyEvent { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEvent; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEvent; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyCode` [INFO] [stdout] --> src/utils/mod.rs:180:11 [INFO] [stdout] | [INFO] [stdout] 4 | code: KeyCode::Char(/*you key*/), [INFO] [stdout] | ^^^^^^^ use of undeclared type `KeyCode` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyCode; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyCode; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyEventKind` [INFO] [stdout] --> src/utils/mod.rs:181:11 [INFO] [stdout] | [INFO] [stdout] 5 | kind: KeyEventKind::Release, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyEventKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyEventKind; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KeyModifiers` [INFO] [stdout] --> src/utils/mod.rs:182:16 [INFO] [stdout] | [INFO] [stdout] 6 | modifiers: KeyModifiers::NONE, [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `KeyModifiers` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::KeyModifiers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `state` in this scope [INFO] [stdout] --> src/utils/mod.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 7 | state, [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::TerminalsEvents::on_event (line 209) stdout ---- [INFO] [stdout] error: `self` parameter is only allowed in associated functions [INFO] [stdout] --> src/terminal.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 3 | fn on_event<'a>(&mut self, terminal: &mut Terminal, event: Event) -> Terminal { [INFO] [stdout] | ^^^^^^^^^ not semantically valid as function parameter [INFO] [stdout] | [INFO] [stdout] = note: associated functions are those in `impl` or `trait` definitions [INFO] [stdout] [INFO] [stdout] error: cannot find macro `is_key_press_event` in this scope [INFO] [stdout] --> src/terminal.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 4 | is_key_press_event!( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::is_key_press_event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Terminal` in this scope [INFO] [stdout] --> src/terminal.rs:210:43 [INFO] [stdout] | [INFO] [stdout] 3 | fn on_event<'a>(&mut self, terminal: &mut Terminal, event: Event) -> Terminal { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Terminal; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Event` in this scope [INFO] [stdout] --> src/terminal.rs:210:60 [INFO] [stdout] | [INFO] [stdout] 3 | fn on_event<'a>(&mut self, terminal: &mut Terminal, event: Event) -> Terminal { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 2 + use crossterm::event::Event; [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Event; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Terminal` in this scope [INFO] [stdout] --> src/terminal.rs:210:70 [INFO] [stdout] | [INFO] [stdout] 3 | fn on_event<'a>(&mut self, terminal: &mut Terminal, event: Event) -> Terminal { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::Terminal; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/utils/mod.rs - utils::text (line 281) stdout ---- [INFO] [stdout] error: cannot find macro `text` in this scope [INFO] [stdout] --> src/utils/mod.rs:282:16 [INFO] [stdout] | [INFO] [stdout] 3 | let mut info = text!(0); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 2 + use diatermi::text; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/terminal.rs - terminal::Terminal (line 116) stdout ---- [INFO] [stdout] Test executable failed (exit status: 101). [INFO] [stdout] [INFO] [stdout] stderr: [INFO] [stdout] [INFO] [stdout] thread 'main' (253) panicked at /opt/rustwide/workdir/src/terminal.rs:309:23: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 6, kind: Uncategorized, message: "No such device or address" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x59f810005d22 - std::backtrace_rs::backtrace::libunwind::trace::h7cddb8376417e7cc [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x59f810005d22 - std::backtrace_rs::backtrace::trace_unsynchronized::hb4e41acf4b349ff1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x59f810005d22 - std::sys::backtrace::_print_fmt::h1222b80910ba6eb5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x59f810005d22 - ::fmt::h5bb8a979ba5db788 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x59f8100156cf - core::fmt::rt::Argument::fmt::h2ee2c138a50a7796 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x59f8100156cf - core::fmt::write::h1e0dbf07fe3990bd [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x59f80ffdb2e3 - std::io::default_write_fmt::hb0810a37865e52a5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x59f80ffdb2e3 - std::io::Write::write_fmt::h12c8908aaac7ca22 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x59f80ffe4d92 - std::sys::backtrace::BacktraceLock::print::h788d486777205086 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x59f80ffe6ccc - std::panicking::default_hook::{{closure}}::ha7bdfeb5949fc0fa [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x59f80ffe6b26 - std::panicking::default_hook::h6dad75ec721846f4 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:328:9 [INFO] [stdout] 11: 0x59f80ffe72a5 - std::panicking::panic_with_hook::hba00e869ada17676 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:834:13 [INFO] [stdout] 12: 0x59f80ffe713a - std::panicking::panic_handler::{{closure}}::h3d21149c258e5ceb [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:707:13 [INFO] [stdout] 13: 0x59f80ffe4ec9 - std::sys::backtrace::__rust_end_short_backtrace::h4f5d9b9dfb3e6ec1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 14: 0x59f80ffcf7cd - __rustc[9a7a9f9af7564de1]::rust_begin_unwind [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:698:5 [INFO] [stdout] 15: 0x59f810018f90 - core::panicking::panic_fmt::h78e817a90331d98b [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panicking.rs:75:14 [INFO] [stdout] 16: 0x59f810018526 - core::result::unwrap_failed::h3ce108722ad88f1e [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/result.rs:1852:5 [INFO] [stdout] 17: 0x59f80ff7245e - diatermi::terminal::run::haece30556ebc4f87 [INFO] [stdout] 18: 0x59f80ff731a3 - rust_out::main::hb2c1f26112d8e974 [INFO] [stdout] 19: 0x59f80ff70193 - core::ops::function::FnOnce::call_once::h01e49b384cd31373 [INFO] [stdout] 20: 0x59f80ff70116 - std::sys::backtrace::__rust_begin_short_backtrace::hc341f747de1a6e5f [INFO] [stdout] 21: 0x59f80ff700f9 - std::rt::lang_start::{{closure}}::h5855c6a947873adf [INFO] [stdout] 22: 0x59f80ffdc770 - core::ops::function::impls:: for &F>::call_once::h1dc0a50e6295ec78 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:290:21 [INFO] [stdout] 23: 0x59f80ffdc770 - std::panicking::catch_unwind::do_call::h209f742e9999044e [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 24: 0x59f80ffdc770 - std::panicking::catch_unwind::h508c6e2aa6d72749 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 25: 0x59f80ffdc770 - std::panic::catch_unwind::hebcbb24aa9914693 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 26: 0x59f80ffdc770 - std::rt::lang_start_internal::{{closure}}::h703cbe32967ef209 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/rt.rs:175:24 [INFO] [stdout] 27: 0x59f80ffdc770 - std::panicking::catch_unwind::do_call::hf50f2a30bce4e10b [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 28: 0x59f80ffdc770 - std::panicking::catch_unwind::hac448d7e3b12daa3 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 29: 0x59f80ffdc770 - std::panic::catch_unwind::ha9d74a13d77f299c [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x59f80ffdc770 - std::rt::lang_start_internal::ha26d244788d1956d [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/rt.rs:171:5 [INFO] [stdout] 31: 0x59f80ff700e1 - std::rt::lang_start::h75941d661fa88314 [INFO] [stdout] 32: 0x59f80ff73425 - main [INFO] [stdout] 33: 0x714b6168e1ca - [INFO] [stdout] 34: 0x714b6168e28b - __libc_start_main [INFO] [stdout] 35: 0x59f80ff6fff5 - _start [INFO] [stdout] 36: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ---- src/utils/mod.rs - utils::vec2 (line 257) stdout ---- [INFO] [stdout] error[E0425]: cannot find function `vec2` in this scope [INFO] [stdout] --> src/utils/mod.rs:258:1 [INFO] [stdout] | [INFO] [stdout] 3 | vec2(0,1); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/draw/Text.rs - draw::Text::Text::set_text (line 15) [INFO] [stdout] src/draw/Text.rs - draw::Text::Text::text (line 24) [INFO] [stdout] src/terminal.rs - terminal::CursorConfig (line 268) [INFO] [stdout] src/terminal.rs - terminal::CursorConfig::new (line 285) [INFO] [stdout] src/terminal.rs - terminal::DrawObjectTrait::bg_color (line 76) [INFO] [stdout] src/terminal.rs - terminal::DrawObjectTrait::color (line 61) [INFO] [stdout] src/terminal.rs - terminal::DrawObjectTrait::id (line 90) [INFO] [stdout] src/terminal.rs - terminal::DrawObjectTrait::new (line 37) [INFO] [stdout] src/terminal.rs - terminal::DrawObjectTrait::position (line 83) [INFO] [stdout] src/terminal.rs - terminal::DrawObjectTrait::set_bg_color (line 68) [INFO] [stdout] src/terminal.rs - terminal::DrawObjectTrait::set_color (line 45) [INFO] [stdout] src/terminal.rs - terminal::DrawObjectTrait::set_position (line 53) [INFO] [stdout] src/terminal.rs - terminal::Terminal (line 116) [INFO] [stdout] src/terminal.rs - terminal::Terminal::hide_cursor (line 371) [INFO] [stdout] src/terminal.rs - terminal::Terminal::register (line 347) [INFO] [stdout] src/terminal.rs - terminal::Terminal::set_cursor (line 357) [INFO] [stdout] src/terminal.rs - terminal::Terminal::set_cursor_style (line 381) [INFO] [stdout] src/terminal.rs - terminal::Terminal::set_size (line 400) [INFO] [stdout] src/terminal.rs - terminal::Terminal::set_title (line 391) [INFO] [stdout] src/terminal.rs - terminal::Terminal::show_cursor (line 410) [INFO] [stdout] src/terminal.rs - terminal::TerminalsEvents::is_stop (line 255) [INFO] [stdout] src/terminal.rs - terminal::TerminalsEvents::new (line 182) [INFO] [stdout] src/terminal.rs - terminal::TerminalsEvents::on_end (line 242) [INFO] [stdout] src/terminal.rs - terminal::TerminalsEvents::on_event (line 209) [INFO] [stdout] src/terminal.rs - terminal::TerminalsEvents::on_loop (line 198) [INFO] [stdout] src/terminal.rs - terminal::TerminalsEvents::on_start (line 229) [INFO] [stdout] src/terminal.rs - terminal::Vector2::new (line 22) [INFO] [stdout] src/terminal.rs - terminal::run (line 299) [INFO] [stdout] src/utils/mod.rs - utils::is_key_press (line 20) [INFO] [stdout] src/utils/mod.rs - utils::is_key_press_event (line 45) [INFO] [stdout] src/utils/mod.rs - utils::is_key_press_event (line 57) [INFO] [stdout] src/utils/mod.rs - utils::is_key_release (line 178) [INFO] [stdout] src/utils/mod.rs - utils::is_key_release_event (line 204) [INFO] [stdout] src/utils/mod.rs - utils::is_key_release_event (line 216) [INFO] [stdout] src/utils/mod.rs - utils::is_key_repeat (line 99) [INFO] [stdout] src/utils/mod.rs - utils::is_key_repeat_event (line 124) [INFO] [stdout] src/utils/mod.rs - utils::is_key_repeat_event (line 136) [INFO] [stdout] src/utils/mod.rs - utils::text (line 273) [INFO] [stdout] src/utils/mod.rs - utils::text (line 277) [INFO] [stdout] src/utils/mod.rs - utils::text (line 281) [INFO] [stdout] src/utils/mod.rs - utils::vec2 (line 257) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 41 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5b7a68b2293c3d80f901308d0b6a97a4c7b61700c284457b377f9062c549f1ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b7a68b2293c3d80f901308d0b6a97a4c7b61700c284457b377f9062c549f1ff", kill_on_drop: false }` [INFO] [stdout] 5b7a68b2293c3d80f901308d0b6a97a4c7b61700c284457b377f9062c549f1ff