[INFO] cloning repository https://github.com/ryzendew/Rust_Text_Editor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ryzendew/Rust_Text_Editor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryzendew%2FRust_Text_Editor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryzendew%2FRust_Text_Editor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 582a13b07c6560d4690891bba807a23ffe8194cf
[INFO] building ryzendew/Rust_Text_Editor against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryzendew%2FRust_Text_Editor" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ryzendew/Rust_Text_Editor
[INFO] finished tweaking git repo https://github.com/ryzendew/Rust_Text_Editor
[INFO] tweaked toml for git repo https://github.com/ryzendew/Rust_Text_Editor written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ryzendew/Rust_Text_Editor on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ryzendew/Rust_Text_Editor 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pangocairo-sys v0.19.8
[INFO] [stderr]   Downloaded pangocairo v0.19.8
[INFO] [stderr]   Downloaded glib-sys v0.19.8
[INFO] [stderr]   Downloaded gdk-pixbuf v0.19.8
[INFO] [stderr]   Downloaded env_logger v0.11.7
[INFO] [stderr]   Downloaded gsk4 v0.8.2
[INFO] [stderr]   Downloaded gdk4 v0.8.2
[INFO] [stderr]   Downloaded cairo-rs v0.19.4
[INFO] [stderr]   Downloaded gdk4-sys v0.8.2
[INFO] [stderr]   Downloaded gio-sys v0.19.8
[INFO] [stderr]   Downloaded gtk4-sys v0.8.2
[INFO] [stderr]   Downloaded glib v0.19.9
[INFO] [stderr]   Downloaded gtk4-macros v0.8.2
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.19.8
[INFO] [stderr]   Downloaded graphene-sys v0.19.8
[INFO] [stderr]   Downloaded pango v0.19.8
[INFO] [stderr]   Downloaded gobject-sys v0.19.8
[INFO] [stderr]   Downloaded pango-sys v0.19.8
[INFO] [stderr]   Downloaded gio v0.19.8
[INFO] [stderr]   Downloaded graphene-rs v0.19.8
[INFO] [stderr]   Downloaded gsk4-sys v0.8.2
[INFO] [stderr]   Downloaded glib-macros v0.19.9
[INFO] [stderr]   Downloaded cairo-sys-rs v0.19.2
[INFO] [stderr]   Downloaded gtk4 v0.8.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4188cb250c585bb16833281daeb8a91672a81d2beb150543bd28337e113b5871
[INFO] running `Command { std: "docker" "start" "-a" "4188cb250c585bb16833281daeb8a91672a81d2beb150543bd28337e113b5871", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4188cb250c585bb16833281daeb8a91672a81d2beb150543bd28337e113b5871", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4188cb250c585bb16833281daeb8a91672a81d2beb150543bd28337e113b5871", kill_on_drop: false }`
[INFO] [stdout] 4188cb250c585bb16833281daeb8a91672a81d2beb150543bd28337e113b5871
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b463aef1abfabfcb422d1ef7fc7cc1edb31f6f4cf7c9edce77f7b5566be6ee17
[INFO] running `Command { std: "docker" "start" "-a" "b463aef1abfabfcb422d1ef7fc7cc1edb31f6f4cf7c9edce77f7b5566be6ee17", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v0.7.4
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling version-compare v0.2.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling indexmap v2.8.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling gio v0.19.8
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling jiff v0.2.5
[INFO] [stderr]    Compiling xi-unicode v0.3.0
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling toml v0.8.20
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling env_logger v0.11.7
[INFO] [stderr]    Compiling system-deps v6.2.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling glib-macros v0.19.9
[INFO] [stderr]    Compiling gtk4-macros v0.8.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling glib-sys v0.19.8
[INFO] [stderr]    Compiling gobject-sys v0.19.8
[INFO] [stderr]    Compiling gio-sys v0.19.8
[INFO] [stderr]    Compiling cairo-sys-rs v0.19.2
[INFO] [stderr]    Compiling pango-sys v0.19.8
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.19.8
[INFO] [stderr]    Compiling graphene-sys v0.19.8
[INFO] [stderr]    Compiling gdk4-sys v0.8.2
[INFO] [stderr]    Compiling gsk4-sys v0.8.2
[INFO] [stderr]    Compiling pangocairo-sys v0.19.8
[INFO] [stderr]    Compiling gtk4-sys v0.8.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling glib v0.19.9
[INFO] [stderr]    Compiling cairo-rs v0.19.4
[INFO] [stderr]    Compiling graphene-rs v0.19.8
[INFO] [stderr]    Compiling pango v0.19.8
[INFO] [stderr]    Compiling gdk-pixbuf v0.19.8
[INFO] [stderr]    Compiling gdk4 v0.8.2
[INFO] [stderr]    Compiling pangocairo v0.19.8
[INFO] [stderr]    Compiling gsk4 v0.8.2
[INFO] [stderr]    Compiling gtk4 v0.8.2
[INFO] [stderr]    Compiling rustedit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[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: `Path`
[INFO] [stdout]   --> src/main.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::ops::Range;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApplicationWindow`, `Box as GtkBox`, `Button`, `Entry`, `Label`, and `TextView`
[INFO] [stdout]   --> src/main.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use gtk::{ApplicationWindow, TextView, Button, Box as GtkBox, Label, Entry};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::gdk::Key`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use gtk::gdk::Key;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::gdk::Display`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use gtk::gdk::Display;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::gio::SimpleAction`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use gtk::gio::SimpleAction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_button_wrapper_clone`
[INFO] [stdout]     --> src/main.rs:1281:9
[INFO] [stdout]      |
[INFO] [stdout] 1281 |     let tab_button_wrapper_clone = tab_button_wrapper.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_button_wrapper_clone`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer_clone`
[INFO] [stdout]     --> src/main.rs:1292:9
[INFO] [stdout]      |
[INFO] [stdout] 1292 |     let buffer_clone = buffer.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `editor_state_ref`
[INFO] [stdout]     --> src/main.rs:1293:9
[INFO] [stdout]      |
[INFO] [stdout] 1293 |     let editor_state_ref = editor_state.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_editor_state_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tabs_box_ref_clone`
[INFO] [stdout]     --> src/main.rs:1454:13
[INFO] [stdout]      |
[INFO] [stdout] 1454 |         let tabs_box_ref_clone = tabs_box_ref.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tabs_box_ref_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_tab_wrapper_clone`
[INFO] [stdout]     --> src/main.rs:1455:13
[INFO] [stdout]      |
[INFO] [stdout] 1455 |         let new_tab_wrapper_clone = new_tab_wrapper.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_tab_wrapper_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_view_ref_clone`
[INFO] [stdout]     --> src/main.rs:1456:13
[INFO] [stdout]      |
[INFO] [stdout] 1456 |         let text_view_ref_clone = text_view_ref.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_view_ref_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer_for_close`
[INFO] [stdout]     --> src/main.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 |         let buffer_for_close = buffer_for_new_tab.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer_for_close`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_button_wrapper_ref_clone`
[INFO] [stdout]     --> src/main.rs:1459:13
[INFO] [stdout]      |
[INFO] [stdout] 1459 |         let tab_button_wrapper_ref_clone = tab_button_wrapper_ref.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_button_wrapper_ref_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `selection_start` and `selection_end` are never read
[INFO] [stdout]   --> src/main.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct EditorState {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     selection_start: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     selection_end: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/main.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl EditorState {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn save_file(&mut self, path: &PathBuf) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn insert_text(&mut self, text: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn delete_backward(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn delete_forward(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn get_cursor_position(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn get_line_number(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn select_word_at_cursor(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn update_selection(&mut self, start: usize, end: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn clear_selection(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn is_modified_from_last_save(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabInfo` is never constructed
[INFO] [stdout]    --> src/main.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | struct TabInfo {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update_name` are never used
[INFO] [stdout]    --> src/main.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl TabInfo {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 247 |     fn new(id: usize, buffer: gtk::TextBuffer) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn update_name(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/text_buffer.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl TextBuffer {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub fn from_str(text: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn insert(&mut self, text: &str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn delete_backward(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn delete_forward(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn move_cursor(&mut self, offset: isize, extend_selection: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn move_cursor_vertically(&mut self, lines: isize, extend_selection: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn delete_range(&mut self, range: Range<usize>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn selection(&self) -> Option<Range<usize>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn line_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn line_range(&self, line_index: usize) -> Option<Range<usize>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn get_word_boundary_at_offset(&self, offset: usize) -> Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn is_word_char(&self, c: char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn set_selection(&mut self, range: Option<Range<usize>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn get_selection(&self) -> Option<Range<usize>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 41s
[INFO] running `Command { std: "docker" "inspect" "b463aef1abfabfcb422d1ef7fc7cc1edb31f6f4cf7c9edce77f7b5566be6ee17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b463aef1abfabfcb422d1ef7fc7cc1edb31f6f4cf7c9edce77f7b5566be6ee17", kill_on_drop: false }`
[INFO] [stdout] b463aef1abfabfcb422d1ef7fc7cc1edb31f6f4cf7c9edce77f7b5566be6ee17
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f41be076de804d5105ad05771dc6812e3e11d513e8a4761c66c76a431406535f
[INFO] running `Command { std: "docker" "start" "-a" "f41be076de804d5105ad05771dc6812e3e11d513e8a4761c66c76a431406535f", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustedit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[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: `Path`
[INFO] [stdout]   --> src/main.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::ops::Range;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApplicationWindow`, `Box as GtkBox`, `Button`, `Entry`, `Label`, and `TextView`
[INFO] [stdout]   --> src/main.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use gtk::{ApplicationWindow, TextView, Button, Box as GtkBox, Label, Entry};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::gdk::Key`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use gtk::gdk::Key;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::gdk::Display`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use gtk::gdk::Display;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::gio::SimpleAction`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use gtk::gio::SimpleAction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_button_wrapper_clone`
[INFO] [stdout]     --> src/main.rs:1281:9
[INFO] [stdout]      |
[INFO] [stdout] 1281 |     let tab_button_wrapper_clone = tab_button_wrapper.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_button_wrapper_clone`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer_clone`
[INFO] [stdout]     --> src/main.rs:1292:9
[INFO] [stdout]      |
[INFO] [stdout] 1292 |     let buffer_clone = buffer.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `editor_state_ref`
[INFO] [stdout]     --> src/main.rs:1293:9
[INFO] [stdout]      |
[INFO] [stdout] 1293 |     let editor_state_ref = editor_state.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_editor_state_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tabs_box_ref_clone`
[INFO] [stdout]     --> src/main.rs:1454:13
[INFO] [stdout]      |
[INFO] [stdout] 1454 |         let tabs_box_ref_clone = tabs_box_ref.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tabs_box_ref_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_tab_wrapper_clone`
[INFO] [stdout]     --> src/main.rs:1455:13
[INFO] [stdout]      |
[INFO] [stdout] 1455 |         let new_tab_wrapper_clone = new_tab_wrapper.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_tab_wrapper_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_view_ref_clone`
[INFO] [stdout]     --> src/main.rs:1456:13
[INFO] [stdout]      |
[INFO] [stdout] 1456 |         let text_view_ref_clone = text_view_ref.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_view_ref_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer_for_close`
[INFO] [stdout]     --> src/main.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 |         let buffer_for_close = buffer_for_new_tab.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer_for_close`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_button_wrapper_ref_clone`
[INFO] [stdout]     --> src/main.rs:1459:13
[INFO] [stdout]      |
[INFO] [stdout] 1459 |         let tab_button_wrapper_ref_clone = tab_button_wrapper_ref.clone();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_button_wrapper_ref_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `selection_start` and `selection_end` are never read
[INFO] [stdout]   --> src/main.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct EditorState {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     selection_start: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     selection_end: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/main.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl EditorState {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn save_file(&mut self, path: &PathBuf) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn insert_text(&mut self, text: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn delete_backward(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn delete_forward(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn get_cursor_position(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn get_line_number(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn select_word_at_cursor(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn update_selection(&mut self, start: usize, end: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn clear_selection(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn is_modified_from_last_save(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TabInfo` is never constructed
[INFO] [stdout]    --> src/main.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | struct TabInfo {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update_name` are never used
[INFO] [stdout]    --> src/main.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl TabInfo {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 247 |     fn new(id: usize, buffer: gtk::TextBuffer) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn update_name(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/text_buffer.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl TextBuffer {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub fn from_str(text: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn insert(&mut self, text: &str) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn delete_backward(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn delete_forward(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn move_cursor(&mut self, offset: isize, extend_selection: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn move_cursor_vertically(&mut self, lines: isize, extend_selection: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn delete_range(&mut self, range: Range<usize>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn selection(&self) -> Option<Range<usize>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn line_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn line_range(&self, line_index: usize) -> Option<Range<usize>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn get_word_boundary_at_offset(&self, offset: usize) -> Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn is_word_char(&self, c: char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn set_selection(&mut self, range: Option<Range<usize>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn get_selection(&self) -> Option<Range<usize>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.04s
[INFO] running `Command { std: "docker" "inspect" "f41be076de804d5105ad05771dc6812e3e11d513e8a4761c66c76a431406535f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f41be076de804d5105ad05771dc6812e3e11d513e8a4761c66c76a431406535f", kill_on_drop: false }`
[INFO] [stdout] f41be076de804d5105ad05771dc6812e3e11d513e8a4761c66c76a431406535f
