[INFO] cloning repository https://github.com/awesomerustgenius/cursr [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/awesomerustgenius/cursr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawesomerustgenius%2Fcursr", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawesomerustgenius%2Fcursr'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7621957ac37b7ba242df03dab08a2bab024797d8 [INFO] checking awesomerustgenius/cursr against try#59a256151e578f525a26127f2c3e3a6c7e2982ca for pr-149291-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawesomerustgenius%2Fcursr" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/awesomerustgenius/cursr [INFO] finished tweaking git repo https://github.com/awesomerustgenius/cursr [INFO] tweaked toml for git repo https://github.com/awesomerustgenius/cursr written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/awesomerustgenius/cursr on toolchain 59a256151e578f525a26127f2c3e3a6c7e2982ca [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/awesomerustgenius/cursr already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking awesomerustgenius/cursr against try#59a256151e578f525a26127f2c3e3a6c7e2982ca for pr-149291-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawesomerustgenius%2Fcursr" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/awesomerustgenius/cursr [INFO] finished tweaking git repo https://github.com/awesomerustgenius/cursr [INFO] tweaked toml for git repo https://github.com/awesomerustgenius/cursr written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/awesomerustgenius/cursr on toolchain 59a256151e578f525a26127f2c3e3a6c7e2982ca [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/awesomerustgenius/cursr already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded termion v4.0.5 [INFO] [stderr] Downloaded numtoa v0.2.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2c95261da94985a1cc2437153a7b845b040d6866faae2c53ab4db7d48aa711e2 [INFO] running `Command { std: "docker" "start" "-a" "2c95261da94985a1cc2437153a7b845b040d6866faae2c53ab4db7d48aa711e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2c95261da94985a1cc2437153a7b845b040d6866faae2c53ab4db7d48aa711e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c95261da94985a1cc2437153a7b845b040d6866faae2c53ab4db7d48aa711e2", kill_on_drop: false }` [INFO] [stdout] 2c95261da94985a1cc2437153a7b845b040d6866faae2c53ab4db7d48aa711e2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 20398a050206a9db8165bb1a2d44475609288c01c73bc5916877a1b277c7c621 [INFO] running `Command { std: "docker" "start" "-a" "20398a050206a9db8165bb1a2d44475609288c01c73bc5916877a1b277c7c621", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Checking numtoa v0.2.4 [INFO] [stderr] Checking termion v4.0.5 [INFO] [stderr] Checking myTerm1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: format argument must be a string literal [INFO] [stdout] --> src/events/events.rs:28:34 [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", Goto(a, b)); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might be missing a string literal to format with [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", "{}", Goto(a, b)); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: multiple unused formatting arguments [INFO] [stdout] --> src/viewer/viewer.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 61 | "Welcome to super text viewer \r{} ", [INFO] [stdout] | ------------------------------------ multiple missing formatting specifiers [INFO] [stdout] 62 | color::Bg(Black), [INFO] [stdout] 63 | color::Fg(White), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ argument never used [INFO] [stdout] 64 | style::Reset, [INFO] [stdout] | ^^^^^^^^^^^^ argument never used [INFO] [stdout] | [INFO] [stdout] = note: consider adding 2 format specifiers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: format argument must be a string literal [INFO] [stdout] --> src/events/events.rs:28:34 [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", Goto(a, b)); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might be missing a string literal to format with [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", "{}", Goto(a, b)); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: multiple unused formatting arguments [INFO] [stdout] --> src/viewer/viewer.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 61 | "Welcome to super text viewer \r{} ", [INFO] [stdout] | ------------------------------------ multiple missing formatting specifiers [INFO] [stdout] 62 | color::Bg(Black), [INFO] [stdout] 63 | color::Fg(White), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ argument never used [INFO] [stdout] 64 | style::Reset, [INFO] [stdout] | ^^^^^^^^^^^^ argument never used [INFO] [stdout] | [INFO] [stdout] = note: consider adding 2 format specifiers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `bin` in the crate root [INFO] [stdout] --> src/main.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{bin::viewer::TextViewer, events::events::mouse_events}; [INFO] [stdout] | ^^^ could not find `bin` in the crate root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Goto` [INFO] [stdout] --> src/events/events.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | cursor::{self, DetectCursorPos, Goto}, [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: `read_to_string` [INFO] [stdout] --> src/viewer/viewer.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use ::std::fs::{self, read_to_string}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Left` [INFO] [stdout] --> src/viewer/viewer.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | use ::termion::cursor::{Goto, Left}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `screen` and `scroll` [INFO] [stdout] --> src/viewer/viewer.rs:10:74 [INFO] [stdout] | [INFO] [stdout] 10 | clear, color, cursor, event::Key, input::TermRead, raw::IntoRawMode, screen, scroll, style, [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `termion::terminal_size` [INFO] [stdout] --> src/viewer/viewer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use termion::terminal_size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `self` [INFO] [stdout] --> src/main.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | path::{self, Path, PathBuf}, [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `bin` in the crate root [INFO] [stdout] --> src/main.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::{bin::viewer::TextViewer, events::events::mouse_events}; [INFO] [stdout] | ^^^ could not find `bin` in the crate root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Goto` [INFO] [stdout] --> src/events/events.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | cursor::{self, DetectCursorPos, Goto}, [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: `read_to_string` [INFO] [stdout] --> src/viewer/viewer.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use ::std::fs::{self, read_to_string}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Left` [INFO] [stdout] --> src/viewer/viewer.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | use ::termion::cursor::{Goto, Left}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `screen` and `scroll` [INFO] [stdout] --> src/viewer/viewer.rs:10:74 [INFO] [stdout] | [INFO] [stdout] 10 | clear, color, cursor, event::Key, input::TermRead, raw::IntoRawMode, screen, scroll, style, [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `termion::terminal_size` [INFO] [stdout] --> src/viewer/viewer.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use termion::terminal_size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `self` [INFO] [stdout] --> src/main.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | path::{self, Path, PathBuf}, [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: cannot write into `&'static str` [INFO] [stdout] --> src/events/events.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", Goto(a, b)); [INFO] [stdout] | -------^^^^------------- method not found in `&'static str` [INFO] [stdout] | [INFO] [stdout] note: must implement `io::Write`, `fmt::Write`, or have a `write_fmt` method [INFO] [stdout] --> src/events/events.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", Goto(a, b)); [INFO] [stdout] | ^^^^ [INFO] [stdout] help: a writer is needed before this format string [INFO] [stdout] --> src/events/events.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", Goto(a, b)); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: cannot write into `&'static str` [INFO] [stdout] --> src/events/events.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", Goto(a, b)); [INFO] [stdout] | -------^^^^------------- method not found in `&'static str` [INFO] [stdout] | [INFO] [stdout] note: must implement `io::Write`, `fmt::Write`, or have a `write_fmt` method [INFO] [stdout] --> src/events/events.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", Goto(a, b)); [INFO] [stdout] | ^^^^ [INFO] [stdout] help: a writer is needed before this format string [INFO] [stdout] --> src/events/events.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | write!("{}", Goto(a, b)); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/events/events.rs:30:21 [INFO] [stdout] | [INFO] [stdout] 26 | ::termion::event::Event::Mouse(mouse_event) => match mouse_event { [INFO] [stdout] | _____________________________________________________________- [INFO] [stdout] 27 | | MouseEvent::Hold(a, b) | MouseEvent::Press(_, a, b) | MouseEvent::Release(a, b) => { [INFO] [stdout] 28 | | write!("{}", Goto(a, b)); [INFO] [stdout] 29 | | let (x, y) = stdout.cursor_pos().unwrap(); [INFO] [stdout] 30 | |/ write!( [INFO] [stdout] 31 | || stdout, [INFO] [stdout] 32 | || "{}{} Cursor is at ({}, {}){}", [INFO] [stdout] 33 | || cursor::Goto(5, 5), [INFO] [stdout] ... || [INFO] [stdout] 37 | || cursor::Goto(a, b) [INFO] [stdout] 38 | || ) [INFO] [stdout] | ||_____________________^ expected `()`, found `Result<(), Error>` [INFO] [stdout] ... | [INFO] [stdout] 41 | | }, [INFO] [stdout] | |______________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Result<(), std::io::Error>` [INFO] [stdout] = note: this error originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using a semicolon here [INFO] [stdout] | [INFO] [stdout] 41 | };, [INFO] [stdout] | + [INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<(), std::io::Error>` value, panicking if the value is a `Result::Err` [INFO] [stdout] | [INFO] [stdout] 38 | ).expect("REASON") [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/events/events.rs:30:21 [INFO] [stdout] | [INFO] [stdout] 26 | ::termion::event::Event::Mouse(mouse_event) => match mouse_event { [INFO] [stdout] | _____________________________________________________________- [INFO] [stdout] 27 | | MouseEvent::Hold(a, b) | MouseEvent::Press(_, a, b) | MouseEvent::Release(a, b) => { [INFO] [stdout] 28 | | write!("{}", Goto(a, b)); [INFO] [stdout] 29 | | let (x, y) = stdout.cursor_pos().unwrap(); [INFO] [stdout] 30 | |/ write!( [INFO] [stdout] 31 | || stdout, [INFO] [stdout] 32 | || "{}{} Cursor is at ({}, {}){}", [INFO] [stdout] 33 | || cursor::Goto(5, 5), [INFO] [stdout] ... || [INFO] [stdout] 37 | || cursor::Goto(a, b) [INFO] [stdout] 38 | || ) [INFO] [stdout] | ||_____________________^ expected `()`, found `Result<(), Error>` [INFO] [stdout] ... | [INFO] [stdout] 41 | | }, [INFO] [stdout] | |______________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Result<(), std::io::Error>` [INFO] [stdout] = note: this error originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using a semicolon here [INFO] [stdout] | [INFO] [stdout] 41 | };, [INFO] [stdout] | + [INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<(), std::io::Error>` value, panicking if the value is a `Result::Err` [INFO] [stdout] | [INFO] [stdout] 38 | ).expect("REASON") [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/viewer/viewer.rs:67:32 [INFO] [stdout] | [INFO] [stdout] 67 | if self.document_len < self.terminal_size { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ expected `usize`, found `Coordinates` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `usize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/viewer/viewer.rs:67:32 [INFO] [stdout] | [INFO] [stdout] 67 | if self.document_len < self.terminal_size { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ expected `usize`, found `Coordinates` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `usize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/viewer/viewer.rs:103:51 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn run(&mut self) { [INFO] [stdout] | --------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] 103 | let mut std_out = stdout().into_raw_mode()?; [INFO] [stdout] | ^ cannot use the `?` operator in a method that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 102 | pub fn run(&mut self) -> Result<(), Box> { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/viewer/viewer.rs:103:51 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn run(&mut self) { [INFO] [stdout] | --------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] 103 | let mut std_out = stdout().into_raw_mode()?; [INFO] [stdout] | ^ cannot use the `?` operator in a method that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 102 | pub fn run(&mut self) -> Result<(), Box> { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `<` cannot be applied to type `Coordinates` [INFO] [stdout] --> src/viewer/viewer.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | if self.cursor_position < self.terminal_size.x { [INFO] [stdout] | -------------------- ^ -------------------- usize [INFO] [stdout] | | [INFO] [stdout] | Coordinates [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialOrd` might be missing for `Coordinates` [INFO] [stdout] --> src/viewer/viewer.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Coordinates { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ must implement `PartialOrd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `<` cannot be applied to type `Coordinates` [INFO] [stdout] --> src/viewer/viewer.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | if self.cursor_position < self.terminal_size.x { [INFO] [stdout] | -------------------- ^ -------------------- usize [INFO] [stdout] | | [INFO] [stdout] | Coordinates [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialOrd` might be missing for `Coordinates` [INFO] [stdout] --> src/viewer/viewer.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Coordinates { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ must implement `PartialOrd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0368]: binary assignment operation `+=` cannot be applied to type `Coordinates` [INFO] [stdout] --> src/viewer/viewer.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | self.cursor_position += 1; [INFO] [stdout] | --------------------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | cannot use `+=` on type `Coordinates` [INFO] [stdout] | [INFO] [stdout] note: an implementation of `AddAssign<{integer}>` might be missing for `Coordinates` [INFO] [stdout] --> src/viewer/viewer.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Coordinates { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ must implement `AddAssign<{integer}>` [INFO] [stdout] note: the trait `AddAssign` must be implemented [INFO] [stdout] --> /rustc/59a256151e578f525a26127f2c3e3a6c7e2982ca/library/core/src/ops/arith.rs:769:0 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0368]: binary assignment operation `+=` cannot be applied to type `Coordinates` [INFO] [stdout] --> src/viewer/viewer.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | self.cursor_position += 1; [INFO] [stdout] | --------------------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | cannot use `+=` on type `Coordinates` [INFO] [stdout] | [INFO] [stdout] note: an implementation of `AddAssign<{integer}>` might be missing for `Coordinates` [INFO] [stdout] --> src/viewer/viewer.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Coordinates { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ must implement `AddAssign<{integer}>` [INFO] [stdout] note: the trait `AddAssign` must be implemented [INFO] [stdout] --> /rustc/59a256151e578f525a26127f2c3e3a6c7e2982ca/library/core/src/ops/arith.rs:769:0 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | process::exit(0)?; [INFO] [stdout] | ----------------^ [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/main.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 12 | fn main() { [INFO] [stdout] | --------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 16 | process::exit(0)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | process::exit(0)?; [INFO] [stdout] | ----------------^ [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | process::exit(0)?; [INFO] [stdout] | ----------------^ [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/main.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 12 | fn main() { [INFO] [stdout] | --------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 16 | process::exit(0)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | process::exit(0)?; [INFO] [stdout] | ----------------^ [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/main.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 12 | fn main() { [INFO] [stdout] | --------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 21 | process::exit(0)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/main.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 12 | fn main() { [INFO] [stdout] | --------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 21 | process::exit(0)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/viewer/viewer.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let mut doc_len = &file_handle.lines().count(); [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: variable does not need to be mutable [INFO] [stdout] --> src/viewer/viewer.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let mut doc_len = &file_handle.lines().count(); [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] Some errors have detailed explanations: E0277, E0308, E0368, E0369, E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0368, E0369, E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `myTerm1` (bin "myTerm1" test) due to 11 previous errors; 9 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `myTerm1` (bin "myTerm1") due to 11 previous errors; 9 warnings emitted [INFO] running `Command { std: "docker" "inspect" "20398a050206a9db8165bb1a2d44475609288c01c73bc5916877a1b277c7c621", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "20398a050206a9db8165bb1a2d44475609288c01c73bc5916877a1b277c7c621", kill_on_drop: false }` [INFO] [stdout] 20398a050206a9db8165bb1a2d44475609288c01c73bc5916877a1b277c7c621