[INFO] cloning repository https://github.com/RealDummy/group_edit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RealDummy/group_edit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRealDummy%2Fgroup_edit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRealDummy%2Fgroup_edit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 595c126fcc707b35acbbe2b724f47771658ab434 [INFO] checking RealDummy/group_edit against try#df1b9bf194c9183fb7c0604484171064069ce232 for pr-149195-4 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRealDummy%2Fgroup_edit" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/RealDummy/group_edit [INFO] finished tweaking git repo https://github.com/RealDummy/group_edit [INFO] tweaked toml for git repo https://github.com/RealDummy/group_edit written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/RealDummy/group_edit on toolchain df1b9bf194c9183fb7c0604484171064069ce232 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/RealDummy/group_edit 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" "+df1b9bf194c9183fb7c0604484171064069ce232" "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 tui v0.19.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2151de808d9502d1fcb129bacc8a667cc10ce0f1c6e51c39f540e47d68c2b389 [INFO] running `Command { std: "docker" "start" "-a" "2151de808d9502d1fcb129bacc8a667cc10ce0f1c6e51c39f540e47d68c2b389", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2151de808d9502d1fcb129bacc8a667cc10ce0f1c6e51c39f540e47d68c2b389", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2151de808d9502d1fcb129bacc8a667cc10ce0f1c6e51c39f540e47d68c2b389", kill_on_drop: false }` [INFO] [stdout] 2151de808d9502d1fcb129bacc8a667cc10ce0f1c6e51c39f540e47d68c2b389 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+df1b9bf194c9183fb7c0604484171064069ce232" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0f8cfbd230c5b2f69abdd52ff52671a2474d7a829b67fb70163c539eb7464ecd [INFO] running `Command { std: "docker" "start" "-a" "0f8cfbd230c5b2f69abdd52ff52671a2474d7a829b67fb70163c539eb7464ecd", kill_on_drop: false }` [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking unicode-width v0.1.12 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking parking_lot v0.12.2 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking tui v0.19.0 [INFO] [stderr] Checking group_edit v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Bytes`, `default`, `thread`, and `time::Duration` [INFO] [stdout] --> src/main.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::Cow, default, io::{self, Bytes, Read}, num::NonZeroU16, thread, time::Duration}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, `Layout`, and `self` [INFO] [stdout] --> src/main.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | backend::CrosstermBackend, layout::{Constraint, Direction, Layout}, text, widgets::{self, Block, Borders, Paragraph, Widget, Wrap... [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyEventState` [INFO] [stdout] --> src/main.rs:5:55 [INFO] [stdout] | [INFO] [stdout] 5 | use crossterm::{self, event::{KeyEvent, KeyEventKind, KeyEventState}}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | event::{self, DisableMouseCapture, EnableMouseCapture, Event, KeyCode}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `WordCounter_t` should have an upper camel case name [INFO] [stdout] --> src/main.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type WordCounter_t = u32; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `WordCounterT` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Bytes`, `default`, `thread`, and `time::Duration` [INFO] [stdout] --> src/main.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::Cow, default, io::{self, Bytes, Read}, num::NonZeroU16, thread, time::Duration}; [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, `Layout`, and `self` [INFO] [stdout] --> src/main.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | backend::CrosstermBackend, layout::{Constraint, Direction, Layout}, text, widgets::{self, Block, Borders, Paragraph, Widget, Wrap... [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyEventState` [INFO] [stdout] --> src/main.rs:5:55 [INFO] [stdout] | [INFO] [stdout] 5 | use crossterm::{self, event::{KeyEvent, KeyEventKind, KeyEventState}}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | event::{self, DisableMouseCapture, EnableMouseCapture, Event, KeyCode}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `WordCounter_t` should have an upper camel case name [INFO] [stdout] --> src/main.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type WordCounter_t = u32; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `WordCounterT` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | if self.cursor_index == 0 { [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:72:31 [INFO] [stdout] | [INFO] [stdout] 72 | self.text.remove(self.cursor_index - 1); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | self.cursor_index -= 1; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | if self.cursor_index == 0 { [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:72:31 [INFO] [stdout] | [INFO] [stdout] 72 | self.text.remove(self.cursor_index - 1); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | self.cursor_index -= 1; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Word: Clone` is not satisfied [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | Cow::from(&self.text).into() [INFO] [stdout] | ^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `Clone` is not implemented for `Word` [INFO] [stdout] --> src/main.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | struct Word { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Cow<'_, ByteStr>` implements `From<&ByteStr>` [INFO] [stdout] `Cow<'_, ByteStr>` implements `From<&ByteString>` [INFO] [stdout] `Cow<'_, ByteStr>` implements `From` [INFO] [stdout] `Cow<'_, CStr>` implements `From<&CStr>` [INFO] [stdout] `Cow<'_, CStr>` implements `From<&CString>` [INFO] [stdout] `Cow<'_, CStr>` implements `From` [INFO] [stdout] `Cow<'_, OsStr>` implements `From<&OsStr>` [INFO] [stdout] `Cow<'_, OsStr>` implements `From<&OsString>` [INFO] [stdout] and 11 others [INFO] [stdout] = note: required for `Cow<'_, [Word]>` to implement `From<&Vec>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Word: Clone` is not satisfied [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | Cow::from(&self.text).into() [INFO] [stdout] | ^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `Clone` is not implemented for `Word` [INFO] [stdout] --> src/main.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | struct Word { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Cow<'_, ByteStr>` implements `From<&ByteStr>` [INFO] [stdout] `Cow<'_, ByteStr>` implements `From<&ByteString>` [INFO] [stdout] `Cow<'_, ByteStr>` implements `From` [INFO] [stdout] `Cow<'_, CStr>` implements `From<&CStr>` [INFO] [stdout] `Cow<'_, CStr>` implements `From<&CString>` [INFO] [stdout] `Cow<'_, CStr>` implements `From` [INFO] [stdout] `Cow<'_, OsStr>` implements `From<&OsStr>` [INFO] [stdout] `Cow<'_, OsStr>` implements `From<&OsString>` [INFO] [stdout] and 11 others [INFO] [stdout] = note: required for `Cow<'_, [Word]>` to implement `From<&Vec>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `[Word]: ToOwned` is not satisfied [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | Cow::from(&self.text).into() [INFO] [stdout] | ^^^ the trait `ToOwned` is not implemented for `[Word]` [INFO] [stdout] | [INFO] [stdout] help: the trait `ToOwned` is implemented for `[T]` [INFO] [stdout] --> /rustc/df1b9bf194c9183fb7c0604484171064069ce232/library/alloc/src/slice.rs:839:0 [INFO] [stdout] note: required by a bound in `Cow` [INFO] [stdout] --> /rustc/df1b9bf194c9183fb7c0604484171064069ce232/library/alloc/src/borrow.rs:169:0 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `[Word]: ToOwned` is not satisfied [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | Cow::from(&self.text).into() [INFO] [stdout] | ^^^ the trait `ToOwned` is not implemented for `[Word]` [INFO] [stdout] | [INFO] [stdout] help: the trait `ToOwned` is implemented for `[T]` [INFO] [stdout] --> /rustc/df1b9bf194c9183fb7c0604484171064069ce232/library/alloc/src/slice.rs:839:0 [INFO] [stdout] note: required by a bound in `Cow` [INFO] [stdout] --> /rustc/df1b9bf194c9183fb7c0604484171064069ce232/library/alloc/src/borrow.rs:169:0 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `[Word]: ToOwned` is not satisfied [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | Cow::from(&self.text).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ the trait `ToOwned` is not implemented for `[Word]` [INFO] [stdout] | [INFO] [stdout] help: the trait `ToOwned` is implemented for `[T]` [INFO] [stdout] --> /rustc/df1b9bf194c9183fb7c0604484171064069ce232/library/alloc/src/slice.rs:839:0 [INFO] [stdout] note: required by a bound in `Cow` [INFO] [stdout] --> /rustc/df1b9bf194c9183fb7c0604484171064069ce232/library/alloc/src/borrow.rs:169:0 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `[Word]: ToOwned` is not satisfied [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | Cow::from(&self.text).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ the trait `ToOwned` is not implemented for `[Word]` [INFO] [stdout] | [INFO] [stdout] help: the trait `ToOwned` is implemented for `[T]` [INFO] [stdout] --> /rustc/df1b9bf194c9183fb7c0604484171064069ce232/library/alloc/src/slice.rs:839:0 [INFO] [stdout] note: required by a bound in `Cow` [INFO] [stdout] --> /rustc/df1b9bf194c9183fb7c0604484171064069ce232/library/alloc/src/borrow.rs:169:0 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Text<'_>: From>` is not satisfied [INFO] [stdout] --> src/main.rs:79:31 [INFO] [stdout] | [INFO] [stdout] 79 | Cow::from(&self.text).into() [INFO] [stdout] | ^^^^ the trait `From>` is not implemented for `Text<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Text<'_>` implements `From<&str>` [INFO] [stdout] `Text<'_>` implements `From>` [INFO] [stdout] `Text<'_>` implements `From>` [INFO] [stdout] `Text<'_>` implements `From>` [INFO] [stdout] `Text<'_>` implements `From` [INFO] [stdout] `Text<'_>` implements `From>>` [INFO] [stdout] = note: required for `Cow<'_, [Word]>` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Text<'_>: From>` is not satisfied [INFO] [stdout] --> src/main.rs:79:31 [INFO] [stdout] | [INFO] [stdout] 79 | Cow::from(&self.text).into() [INFO] [stdout] | ^^^^ the trait `From>` is not implemented for `Text<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Text<'_>` implements `From<&str>` [INFO] [stdout] `Text<'_>` implements `From>` [INFO] [stdout] `Text<'_>` implements `From>` [INFO] [stdout] `Text<'_>` implements `From>` [INFO] [stdout] `Text<'_>` implements `From` [INFO] [stdout] `Text<'_>` implements `From>>` [INFO] [stdout] = note: required for `Cow<'_, [Word]>` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `chars` found for struct `Vec` in the current scope [INFO] [stdout] --> src/main.rs:82:36 [INFO] [stdout] | [INFO] [stdout] 82 | let len: usize = self.text.chars().count(); [INFO] [stdout] | ^^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:83:14 [INFO] [stdout] | [INFO] [stdout] 83 | self.cursor_index += 1; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `chars` found for struct `Vec` in the current scope [INFO] [stdout] --> src/main.rs:82:36 [INFO] [stdout] | [INFO] [stdout] 82 | let len: usize = self.text.chars().count(); [INFO] [stdout] | ^^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:83:14 [INFO] [stdout] | [INFO] [stdout] 83 | self.cursor_index += 1; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 84 | self.cursor_index = self.cursor_index.min(len); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:84:34 [INFO] [stdout] | [INFO] [stdout] 84 | self.cursor_index = self.cursor_index.min(len); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | self.cursor_index = self.cursor_index.saturating_sub(1); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:87:34 [INFO] [stdout] | [INFO] [stdout] 87 | self.cursor_index = self.cursor_index.saturating_sub(1); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&TextStore` [INFO] [stdout] --> src/main.rs:91:35 [INFO] [stdout] | [INFO] [stdout] 91 | let line_start_min = self.cursor_index.saturating_sub(width as usize - 1); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&TextStore` [INFO] [stdout] --> src/main.rs:92:40 [INFO] [stdout] | [INFO] [stdout] 92 | self.text[line_start_min..self.cursor_index].chars() [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 84 | self.cursor_index = self.cursor_index.min(len); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:84:34 [INFO] [stdout] | [INFO] [stdout] 84 | self.cursor_index = self.cursor_index.min(len); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | self.cursor_index = self.cursor_index.saturating_sub(1); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:87:34 [INFO] [stdout] | [INFO] [stdout] 87 | self.cursor_index = self.cursor_index.saturating_sub(1); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&TextStore` [INFO] [stdout] --> src/main.rs:91:35 [INFO] [stdout] | [INFO] [stdout] 91 | let line_start_min = self.cursor_index.saturating_sub(width as usize - 1); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&TextStore` [INFO] [stdout] --> src/main.rs:92:40 [INFO] [stdout] | [INFO] [stdout] 92 | self.text[line_start_min..self.cursor_index].chars() [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `chars` found for struct `Vec` in the current scope [INFO] [stdout] --> src/main.rs:99:36 [INFO] [stdout] | [INFO] [stdout] 99 | let len: usize = self.text.chars().count(); [INFO] [stdout] | ^^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `chars` found for struct `Vec` in the current scope [INFO] [stdout] --> src/main.rs:99:36 [INFO] [stdout] | [INFO] [stdout] 99 | let len: usize = self.text.chars().count(); [INFO] [stdout] | ^^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `chars` found for slice `[Word]` in the current scope [INFO] [stdout] --> src/main.rs:101:53 [INFO] [stdout] | [INFO] [stdout] 101 | let line_end = self.text[pos..line_end_max].chars() [INFO] [stdout] | ^^^^^ method not found in `[Word]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&TextStore` [INFO] [stdout] --> src/main.rs:105:44 [INFO] [stdout] | [INFO] [stdout] 105 | .unwrap_or((0, '\n')).0 + self.cursor_index + 1; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:109:14 [INFO] [stdout] | [INFO] [stdout] 109 | self.cursor_index = self.line_start(self.cursor_index, width); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `chars` found for slice `[Word]` in the current scope [INFO] [stdout] --> src/main.rs:101:53 [INFO] [stdout] | [INFO] [stdout] 101 | let line_end = self.text[pos..line_end_max].chars() [INFO] [stdout] | ^^^^^ method not found in `[Word]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:109:50 [INFO] [stdout] | [INFO] [stdout] 109 | self.cursor_index = self.line_start(self.cursor_index, width); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&TextStore` [INFO] [stdout] --> src/main.rs:105:44 [INFO] [stdout] | [INFO] [stdout] 105 | .unwrap_or((0, '\n')).0 + self.cursor_index + 1; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | self.cursor_index = self.cursor_index; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:110:34 [INFO] [stdout] | [INFO] [stdout] 110 | self.cursor_index = self.cursor_index; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:109:14 [INFO] [stdout] | [INFO] [stdout] 109 | self.cursor_index = self.line_start(self.cursor_index, width); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | self.cursor_index = self.next_line_start(self.cursor_index, width); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:113:55 [INFO] [stdout] | [INFO] [stdout] 113 | self.cursor_index = self.next_line_start(self.cursor_index, width); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:109:50 [INFO] [stdout] | [INFO] [stdout] 109 | self.cursor_index = self.line_start(self.cursor_index, width); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | self.cursor_index = self.cursor_index; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&TextStore` [INFO] [stdout] --> src/main.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | (0..self.cursor_index).into_iter().zip(self.text.chars()) [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:110:34 [INFO] [stdout] | [INFO] [stdout] 110 | self.cursor_index = self.cursor_index; [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | self.cursor_index = self.next_line_start(self.cursor_index, width); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&mut TextStore` [INFO] [stdout] --> src/main.rs:113:55 [INFO] [stdout] | [INFO] [stdout] 113 | self.cursor_index = self.next_line_start(self.cursor_index, width); [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cursor_index` on type `&TextStore` [INFO] [stdout] --> src/main.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | (0..self.cursor_index).into_iter().zip(self.text.chars()) [INFO] [stdout] | ^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `text`, `cursor_word`, `cursor_char_loc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `chars` found for struct `Vec` in the current scope [INFO] [stdout] --> src/main.rs:116:58 [INFO] [stdout] | [INFO] [stdout] 116 | (0..self.cursor_index).into_iter().zip(self.text.chars()) [INFO] [stdout] | ^^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `chars` found for struct `Vec` in the current scope [INFO] [stdout] --> src/main.rs:116:58 [INFO] [stdout] | [INFO] [stdout] 116 | (0..self.cursor_index).into_iter().zip(self.text.chars()) [INFO] [stdout] | ^^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/main.rs:1:51 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::Cow, default, io::{self, Bytes, Read}, num::NonZeroU16, thread, time::Duration}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Widget` [INFO] [stdout] --> src/main.rs:3:122 [INFO] [stdout] | [INFO] [stdout] 3 | backend::CrosstermBackend, layout::{Constraint, Direction, Layout}, text, widgets::{self, Block, Borders, Paragraph, Widget, Wrap... [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/main.rs:1:51 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::Cow, default, io::{self, Bytes, Read}, num::NonZeroU16, thread, time::Duration}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Widget` [INFO] [stdout] --> src/main.rs:3:122 [INFO] [stdout] | [INFO] [stdout] 3 | backend::CrosstermBackend, layout::{Constraint, Direction, Layout}, text, widgets::{self, Block, Borders, Paragraph, Widget, Wrap... [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn push(&mut self, c: char) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn push(&mut self, c: char) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599, E0609. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `group_edit` (bin "group_edit" test) due to 26 previous errors; 8 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `group_edit` (bin "group_edit") due to 26 previous errors; 8 warnings emitted [INFO] running `Command { std: "docker" "inspect" "0f8cfbd230c5b2f69abdd52ff52671a2474d7a829b67fb70163c539eb7464ecd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f8cfbd230c5b2f69abdd52ff52671a2474d7a829b67fb70163c539eb7464ecd", kill_on_drop: false }` [INFO] [stdout] 0f8cfbd230c5b2f69abdd52ff52671a2474d7a829b67fb70163c539eb7464ecd