[INFO] cloning repository https://github.com/red-rs/red
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/red-rs/red" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fred-rs%2Fred", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fred-rs%2Fred'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 84639fb1a020a3387d7b5d4d0acc0dbd53baf1e9
[INFO] testing red-rs/red against beta-2024-12-08 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fred-rs%2Fred" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/red-rs/red on toolchain beta-2024-12-08
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/red-rs/red
[INFO] finished tweaking git repo https://github.com/red-rs/red
[INFO] tweaked toml for git repo https://github.com/red-rs/red written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/red-rs/red 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" "+beta-2024-12-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 071050a2b9d8c16906373a9f11ecb5a6bf15e32a8a018a48944d45b57c6177b2
[INFO] running `Command { std: "docker" "start" "-a" "071050a2b9d8c16906373a9f11ecb5a6bf15e32a8a018a48944d45b57c6177b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "071050a2b9d8c16906373a9f11ecb5a6bf15e32a8a018a48944d45b57c6177b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "071050a2b9d8c16906373a9f11ecb5a6bf15e32a8a018a48944d45b57c6177b2", kill_on_drop: false }`
[INFO] [stdout] 071050a2b9d8c16906373a9f11ecb5a6bf15e32a8a018a48944d45b57c6177b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e2f791a931db8647c7945711f298d9fe422395793e42c908425f24ffae1babc1
[INFO] running `Command { std: "docker" "start" "-a" "e2f791a931db8647c7945711f298d9fe422395793e42c908425f24ffae1babc1", kill_on_drop: false }`
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling bitflags v2.4.2
[INFO] [stderr]    Compiling rustix v0.38.32
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling tree-sitter-language v0.1.2
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling libloading v0.8.3
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling thiserror v1.0.57
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling cc v1.2.2
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling cursor-icon v1.1.0
[INFO] [stderr]    Compiling xcursor v0.3.5
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling smithay-client-toolkit v0.18.1
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling x11rb-protocol v0.13.0
[INFO] [stderr]    Compiling wayland-sys v0.31.1
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling indexmap v2.2.3
[INFO] [stderr]    Compiling syn v2.0.50
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling xkeysym v0.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling winnow v0.6.2
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling memmap2 v0.9.4
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling wayland-scanner v0.31.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling wayland-backend v0.3.3
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]    Compiling tree-sitter v0.24.3
[INFO] [stderr]    Compiling tree-sitter v0.20.10
[INFO] [stderr]    Compiling tree-sitter-json v0.23.0
[INFO] [stderr]    Compiling tree-sitter-python v0.23.2
[INFO] [stderr]    Compiling tree-sitter-go v0.23.1
[INFO] [stderr]    Compiling tree-sitter-cpp v0.23.1
[INFO] [stderr]    Compiling tree-sitter-bash v0.23.1
[INFO] [stderr]    Compiling tree-sitter-java v0.23.2
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-rust v0.23.0
[INFO] [stderr]    Compiling tree-sitter-c v0.23.1
[INFO] [stderr]    Compiling tree-sitter-lua v0.0.19 (https://github.com/tree-sitter-grammars/tree-sitter-lua?tag=v0.0.19#88e44647)
[INFO] [stderr]    Compiling tree-sitter-javascript v0.23.1
[INFO] [stderr]    Compiling tree-sitter-zig v0.0.1 (https://github.com/maxxnino/tree-sitter-zig.git#0d08703e)
[INFO] [stderr]    Compiling tree-sitter-toml-ng v0.7.0
[INFO] [stderr]    Compiling tree-sitter-html v0.23.0
[INFO] [stderr]    Compiling tree-sitter-yaml v0.6.1
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling chrono v0.4.34
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling colored v2.1.0
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling socket2 v0.5.6
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.10
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]    Compiling str_indices v0.4.3
[INFO] [stderr]    Compiling ropey v1.6.1
[INFO] [stderr]    Compiling rayon v1.9.0
[INFO] [stderr]    Compiling strfmt v0.2.4
[INFO] [stderr]    Compiling detect-lang v0.1.5
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling depgraph v0.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling polling v3.6.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling log2 v0.1.11
[INFO] [stderr]    Compiling tokio v1.37.0
[INFO] [stderr]    Compiling ctrlc v3.4.2
[INFO] [stderr]    Compiling wayland-client v0.31.2
[INFO] [stderr]    Compiling wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling calloop v0.12.4
[INFO] [stderr]    Compiling filedescriptor v0.8.2
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling x11rb v0.13.0
[INFO] [stderr]    Compiling wayland-protocols v0.31.2
[INFO] [stderr]    Compiling calloop-wayland-source v0.2.0
[INFO] [stderr]    Compiling wayland-cursor v0.31.1
[INFO] [stderr]    Compiling x11-clipboard v0.9.2
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling serde_spanned v0.6.5
[INFO] [stderr]    Compiling serde_yaml v0.9.32
[INFO] [stderr]    Compiling toml_edit v0.22.11
[INFO] [stderr]    Compiling wayland-protocols-wlr v0.2.0
[INFO] [stderr]    Compiling toml v0.8.12
[INFO] [stderr]    Compiling smithay-clipboard v0.7.1
[INFO] [stderr]    Compiling copypasta v0.10.1
[INFO] [stderr]    Compiling red v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rayon::vec`
[INFO] [stdout]  --> src/code.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon::vec;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyEventKind`
[INFO] [stdout]   --> src/editor.rs:11:46
[INFO] [stdout]    |
[INFO] [stdout] 11 |     MouseButton, MouseEvent, MouseEventKind, KeyEventKind
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cursor::position` and `event`
[INFO] [stdout]   --> src/editor.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     cursor::position,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     event, execute, queue,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Runnable`
[INFO] [stdout]   --> src/editor.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::code::{Code, NodePath, Runnable};
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::search::search::FileSearchResult`
[INFO] [stdout]   --> src/editor.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::search::search::FileSearchResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HoverResult`
[INFO] [stdout]   --> src/editor.rs:32:78
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::lsp::lsp_messages::{CompletionItem, Diagnostic, DiagnosticParams, HoverResult, ReferencesResult};
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> src/editor.rs:40:49
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Child` and `Command`
[INFO] [stdout]   --> src/editor.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 | use tokio::process::{Child, Command};
[INFO] [stdout]    |                      ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Receiver`
[INFO] [stdout]   --> src/editor.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use tokio::sync::mpsc::Receiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/editor.rs:926:67
[INFO] [stdout]     |
[INFO] [stdout] 926 |                 true => (format!("  {}  ", '▶'), Color::AnsiValue((87))), // todo: make it dynamic
[INFO] [stdout]     |                                                                   ^  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 926 -                 true => (format!("  {}  ", '▶'), Color::AnsiValue((87))), // todo: make it dynamic
[INFO] [stdout] 926 +                 true => (format!("  {}  ", '▶'), Color::AnsiValue(87)), // todo: make it dynamic
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/lsp.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]  --> src/lsp.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/lsp.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::oneshot`
[INFO] [stdout]   --> src/lsp.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::oneshot;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/lsp.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::time::{sleep, Duration};
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]    --> src/lsp.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |     use serde_json::Result;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]    --> src/lsp.rs:511:28
[INFO] [stdout]     |
[INFO] [stdout] 511 |     use serde_json::{json, Value};
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/process.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/process.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/process.rs:167:1
[INFO] [stdout]     |
[INFO] [stdout] 167 | mod process_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]    --> src/process.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     use tokio::sync::Mutex;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/process.rs:167:1
[INFO] [stdout]     |
[INFO] [stdout] 167 | mod process_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Process`
[INFO] [stdout]    --> src/process.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     use super::Process;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/process.rs:167:1
[INFO] [stdout]     |
[INFO] [stdout] 167 | mod process_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]   --> src/search.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |     use std::{fs, time};
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]   --> src/search.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use log2::{debug, info, error};
[INFO] [stdout]    |                ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicUsize`
[INFO] [stdout]   --> src/search.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |     use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Path`
[INFO] [stdout]    --> src/search.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |     use std::path::{Display, Path};
[INFO] [stdout]     |                     ^^^^^^^  ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/search.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | mod tokio_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]    --> src/search.rs:256:21
[INFO] [stdout]     |
[INFO] [stdout] 256 |     use tokio::io::{self, AsyncBufReadExt, BufReader};
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/search.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | mod tokio_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]    --> src/search.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |     use std::path::PathBuf;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/search.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | mod tokio_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::fs`
[INFO] [stdout]    --> src/search.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |     use tokio::fs;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/search.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | mod tokio_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::search`
[INFO] [stdout]    --> src/search.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |     use crate::search;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/search.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | mod tokio_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]    --> src/search.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |     use tokio::sync::mpsc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/search.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | mod tokio_tests {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/search.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/search.rs:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | mod mpsc_test {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]    --> src/search.rs:405:29
[INFO] [stdout]     |
[INFO] [stdout] 405 |     use tokio::sync::{mpsc, Mutex};
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/search.rs:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | mod mpsc_test {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/tree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/tree.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueueableCommand`
[INFO] [stdout]  --> src/tree.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crossterm::{cursor, queue, QueueableCommand, style::Print};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de`
[INFO] [stdout]  --> src/tree.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::de;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::watch::error`
[INFO] [stdout]  --> src/tree.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::watch::error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SetBackgroundColor as BColor`
[INFO] [stdout]   --> src/tree.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crossterm::style::{Color, SetBackgroundColor as BColor, SetForegroundColor as FColor};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/config.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/editor.rs:306:34
[INFO] [stdout]     |
[INFO] [stdout] 306 |                         Some(Err(e)) => { /* println!("Error: {:?}\r", e) */ } ,
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/editor.rs:854:13
[INFO] [stdout]     |
[INFO] [stdout] 854 |         let start = time::Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chars_len`
[INFO] [stdout]    --> src/editor.rs:940:17
[INFO] [stdout]     |
[INFO] [stdout] 940 |             let chars_len = line.chars().len();
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chars_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]     --> src/editor.rs:1024:17
[INFO] [stdout]      |
[INFO] [stdout] 1024 |             for c in self.lp_width..self.width-status.chars().count()-1 {
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/editor.rs:741:29
[INFO] [stdout]     |
[INFO] [stdout] 740 | ...                   std::process::exit(0);
[INFO] [stdout]     |                       --------------------- any code following this expression is unreachable
[INFO] [stdout] 741 | ...                   return;
[INFO] [stdout]     |                       ^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/lsp.rs:201:38
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub async fn wait_for(&mut self, id: usize, mut rx: mpsc::Receiver<String>) -> Option<String> {
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2195:26
[INFO] [stdout]      |
[INFO] [stdout] 2195 |             let (height, mut width) = (max_visible, 30);
[INFO] [stdout]      |                          ----^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2561:26
[INFO] [stdout]      |
[INFO] [stdout] 2561 |         let (mut height, mut width) = (max_visible, 30);
[INFO] [stdout]      |                          ----^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/editor.rs:400:21
[INFO] [stdout]     |
[INFO] [stdout] 396 |                     KeyCode::Char('g') => self.definition().await,
[INFO] [stdout]     |                     ------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 400 |                     KeyCode::Char('g') => {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2422:22
[INFO] [stdout]      |
[INFO] [stdout] 2422 |         let (height, mut width) = (5, 30);
[INFO] [stdout]      |                      ----^^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2347:14
[INFO] [stdout]      |
[INFO] [stdout] 2347 |         let (mut end, mut selected, mut selected_offset) = (false, 0, 0);
[INFO] [stdout]      |              ----^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2348:22
[INFO] [stdout]      |
[INFO] [stdout] 2348 |         let (height, mut width) = (10, 30);
[INFO] [stdout]      |                      ----^^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:1956:13
[INFO] [stdout]      |
[INFO] [stdout] 1956 |         let mut end = false;
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:1978:26
[INFO] [stdout]      |
[INFO] [stdout] 1978 |             let (height, mut width) = (5, 30);
[INFO] [stdout]      |                          ----^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:1990:17
[INFO] [stdout]      |
[INFO] [stdout] 1990 |             let mut options = &completion_result.items;
[INFO] [stdout]      |                 ----^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/lsp.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |         let result = self.wait_for(id, rx).await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lsp.rs:215:18
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let (tx, mut rx) = tokio::sync::mpsc::channel::<String>(1);
[INFO] [stdout]     |                  ----^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tree.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stdout]     |             ------------------------------------------------------------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 464 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/tree.rs:455:44
[INFO] [stdout]     |
[INFO] [stdout] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stdout]     |                                            ^^^ help: try ignoring the field: `row: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/tree.rs:455:49
[INFO] [stdout]     |
[INFO] [stdout] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stdout]     |                                                 ^^^^^^ help: try ignoring the field: `column: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/tree.rs:455:63
[INFO] [stdout]     |
[INFO] [stdout] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stdout]     |                                                               ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/tree.rs:459:60
[INFO] [stdout]     |
[INFO] [stdout] 459 |                     crossterm::event::MouseEventKind::Down(button) => {}
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/editor.rs:40:34
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncBufReadExt`
[INFO] [stdout]   --> src/editor.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/tree.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/code.rs:586:29
[INFO] [stdout]     |
[INFO] [stdout] 586 |                         let name = capture_name.split('.').next().unwrap_or(capture_name);
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/editor.rs:127:16
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(dir: String, config: Config) -> Self {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/editor.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |             Err(e) => {},
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logo_width`
[INFO] [stdout]     --> src/editor.rs:1129:13
[INFO] [stdout]      |
[INFO] [stdout] 1129 |         let logo_width = lines.get(0).unwrap().len();
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logo_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lsp.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut stdout = child.stdout.take().unwrap();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send`
[INFO] [stdout]   --> src/process.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child_stdout_receiver`
[INFO] [stdout]   --> src/process.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_stdout_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> src/process.rs:98:26
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     Some(m) = kill.recv() => { // killing manually
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/process.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stdout]    |                    ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/search.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let start = Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `files`
[INFO] [stdout]    --> src/search.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let files = files_processed.fetch_add(1, Ordering::Relaxed);
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_files`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/tree.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 Err(e) => { debug!("cant get abs_path for {}", name); continue;},
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/tree.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |             for i in 0..padding_left {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/tree.rs:276:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |             for i in 0..depth {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/tree.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 for i in 0..self.width-col-1 {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logger`
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let logger = match std::env::var("RED_LOG") {
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_str`, `set_lang`, `lines_from`, `get_from`, `from_to`, and `is_empty` are never used
[INFO] [stdout]    --> src/code.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout] 37  | impl Code {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56  |     pub fn from_str(text: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn set_lang(&mut self, lang:String, conf: &Config) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn lines_from(&self, from: usize) -> Option<Lines> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn get_from(&self, from: usize) -> Lines {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn from_to(&self, row: usize, col: usize, row1: usize, col1: usize) -> RopeSlice {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `row` is never read
[INFO] [stdout]    --> src/code.rs:667:9
[INFO] [stdout]     |
[INFO] [stdout] 665 | pub struct Runnable {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 666 |     pub cmd: String,
[INFO] [stdout] 667 |     pub row: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `search_pattern` is never read
[INFO] [stdout]    --> src/code.rs:786:5
[INFO] [stdout]     |
[INFO] [stdout] 784 | struct EarlyTerminationSearch<'a> {
[INFO] [stdout]     |        ---------------------- field in this struct
[INFO] [stdout] 785 |     char_iter: ropey::iter::Chars<'a>,
[INFO] [stdout] 786 |     search_pattern: &'a str,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `move_line_up` is never used
[INFO] [stdout]     --> src/code.rs:1089:12
[INFO] [stdout]      |
[INFO] [stdout] 1045 | impl Code {
[INFO] [stdout]      | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1089 |     pub fn move_line_up(&mut self, line_idx: usize) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear_all` and `draw_logo` are never used
[INFO] [stdout]     --> src/editor.rs:835:8
[INFO] [stdout]      |
[INFO] [stdout] 126  | impl Editor {
[INFO] [stdout]      | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 835  |     fn clear_all(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1124 |     fn draw_logo(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> src/lsp.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 39  | impl Lsp {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub async fn stop(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `did_change_configuration` is never used
[INFO] [stdout]    --> src/lsp.rs:583:12
[INFO] [stdout]     |
[INFO] [stdout] 583 |     pub fn did_change_configuration() -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `did_change_watched_files` is never used
[INFO] [stdout]    --> src/lsp.rs:618:12
[INFO] [stdout]     |
[INFO] [stdout] 618 |     pub fn did_change_watched_files(path: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `document_link` is never used
[INFO] [stdout]    --> src/lsp.rs:632:12
[INFO] [stdout]     |
[INFO] [stdout] 632 |     pub fn document_link(path: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `completion` is never used
[INFO] [stdout]    --> src/lsp.rs:682:12
[INFO] [stdout]     |
[INFO] [stdout] 682 |     pub fn completion(id: usize, path: &str, line: usize, character: usize) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kill_sender`, `process_lines`, and `process_started` are never read
[INFO] [stdout]   --> src/process.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct Process {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 7  |     kill_sender: Option<tokio::sync::mpsc::Sender<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 8  |     process_lines: Arc<Mutex<Vec<String>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 9  |     upd_process: Arc<AtomicBool>,
[INFO] [stdout] 10 |     process_started: Arc<Mutex<bool>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start`, `update_false`, `kill_process`, `upd`, `lines`, and `lines_range` are never used
[INFO] [stdout]    --> src/process.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout] 14  | impl Process {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49  |     pub fn start(&mut self, cmd: &str, arg: &str) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn update_false(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn kill_process(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn upd(&self) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn lines(&self) -> Arc<Mutex<Vec<String>>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn lines_range(&self, start_index: usize, end_index: usize) -> Option<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `preview` is never read
[INFO] [stdout]    --> src/search.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub struct SearchResult {
[INFO] [stdout]     |                ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |         preview: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]    --> src/search.rs:267:16
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub struct SearchResult {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search` is never used
[INFO] [stdout]    --> src/search.rs:273:18
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub async fn search(path: &str, term: &str) -> tokio::io::Result<Vec<SearchResult>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]    --> src/search.rs:408:16
[INFO] [stdout]     |
[INFO] [stdout] 408 |     pub struct SearchResult {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search` is never used
[INFO] [stdout]    --> src/search.rs:414:18
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub async fn search(
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `swap` is never used
[INFO] [stdout]    --> src/selection.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 38  | impl Selection {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn swap(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]   --> src/tree.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl TreeNode {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn print(&self) { println!("node {:?}", self); }
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dir` is never read
[INFO] [stdout]    --> src/tree.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct TreeView {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     dir: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `print`, `print_node`, `find_and_expand`, `find_and_toggle`, `find_by_index_expand`, and `handle_mouse` are never used
[INFO] [stdout]    --> src/tree.rs:323:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl TreeView {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     fn print_node(&self, node: &TreeNode, depth: usize, count: &mut usize) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn find_and_expand(&mut self, index: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn find_and_toggle(&mut self, index: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn find_by_index_expand(node: &mut TreeNode, index: usize, count: &mut usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     pub async fn handle_mouse(&mut self, e: crossterm::event::MouseEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_files_and_directories` is never used
[INFO] [stdout]    --> src/tree.rs:515:4
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn list_files_and_directories(path: &str) -> io::Result<Vec<String>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_rgb` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn hex_to_rgb(hex_color: &str) -> (u8, u8, u8) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_left` is never used
[INFO] [stdout]   --> src/utils.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn pad_left(str: &str, length: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:535:29
[INFO] [stdout]     |
[INFO] [stdout] 535 | ...                   node.toggle();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 535 |                             let _ = node.toggle();
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:653:45
[INFO] [stdout]     |
[INFO] [stdout] 653 | ...                   node.toggle();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 653 |                                             let _ = node.toggle();
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:857:13
[INFO] [stdout]     |
[INFO] [stdout] 857 |             queue!(stdout(), cursor::Hide);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:858:44
[INFO] [stdout]     |
[INFO] [stdout] 858 |             if self.tree_view.is_search(){ queue!(stdout(), cursor::Show); }
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:922:13
[INFO] [stdout]     |
[INFO] [stdout] 922 |             queue!(stdout, BColor(Color::Reset), FColor(lncolor), Print(line_number));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:931:13
[INFO] [stdout]     |
[INFO] [stdout] 931 |             queue!(stdout, BColor(Color::Reset), FColor(run_or_empty_color), Print(run_or_empty));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:932:13
[INFO] [stdout]     |
[INFO] [stdout] 932 |             queue!(stdout, BColor(Color::Reset), FColor(Color::Reset));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1019:17
[INFO] [stdout]      |
[INFO] [stdout] 1019 |                 queue!(stdout, cursor::MoveTo(self.lp_width as u16, row as u16));
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1023:13
[INFO] [stdout]      |
[INFO] [stdout] 1023 |             queue!(stdout, cursor::MoveTo(self.lp_width as u16, self.height as u16));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1059:9
[INFO] [stdout]      |
[INFO] [stdout] 1059 |         queue!(stdout(), Print(" ".repeat(space)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1137:13
[INFO] [stdout]      |
[INFO] [stdout] 1137 | /             queue!(stdout,
[INFO] [stdout] 1138 | |                 cursor::MoveTo(self.lp_width as u16, r as u16),
[INFO] [stdout] 1139 | |                 terminal::Clear(ClearType::UntilNewLine)
[INFO] [stdout] 1140 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1768:53
[INFO] [stdout]      |
[INFO] [stdout] 1768 | ...                   queue!(stdout(), terminal::Clear(ClearType::All));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1769:53
[INFO] [stdout]      |
[INFO] [stdout] 1769 | ...                   stdout().flush();
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1769 |                                                     let _ = stdout().flush();
[INFO] [stdout]      |                                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1839:9
[INFO] [stdout]      |
[INFO] [stdout] 1839 | /         queue!(stdout(),
[INFO] [stdout] 1840 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stdout] 1841 | |             BColor(Color::Reset), FColor(Color::Reset), Print(line),
[INFO] [stdout] 1842 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1843:9
[INFO] [stdout]      |
[INFO] [stdout] 1843 | /         queue!(stdout(),
[INFO] [stdout] 1844 | |             cursor::MoveTo((self.lp_width + 1 + prefix.len() + x) as u16, y as u16),
[INFO] [stdout] 1845 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1847:9
[INFO] [stdout]      |
[INFO] [stdout] 1847 |         stdout().flush();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1847 |         let _ = stdout().flush();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1858:9
[INFO] [stdout]      |
[INFO] [stdout] 1858 | /         queue!(stdout(),
[INFO] [stdout] 1859 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stdout] 1860 | |             BColor(Color::Reset), FColor(Color::Reset), Print(" ".repeat(line.chars().count())),
[INFO] [stdout] 1861 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1863:9
[INFO] [stdout]      |
[INFO] [stdout] 1863 |         stdout().flush();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1863 |         let _ = stdout().flush();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2087:13
[INFO] [stdout]      |
[INFO] [stdout] 2087 | /             queue!(stdout(),
[INFO] [stdout] 2088 | |                 cursor::MoveTo(
[INFO] [stdout] 2089 | |                     (self.c + self.lp_width + self.ln_width + self.lns_width - 2) as u16,
[INFO] [stdout] 2090 | |                     (self.r - self.y + row + 1) as u16
[INFO] [stdout] ...    |
[INFO] [stdout] 2094 | |                 BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stdout] 2095 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2315:13
[INFO] [stdout]      |
[INFO] [stdout] 2315 | /             queue!(stdout(),
[INFO] [stdout] 2316 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 2) as u16, (row + fromy) as u16),
[INFO] [stdout] 2317 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),  BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stdout] 2318 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2323:9
[INFO] [stdout]      |
[INFO] [stdout] 2323 | /         queue!(stdout(),
[INFO] [stdout] 2324 | |             cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 2) as u16, (self.height-1) as u16),
[INFO] [stdout] 2325 | |             BColor(Color::Reset), FColor(Color::Reset), Print(status),
[INFO] [stdout] 2326 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2405:13
[INFO] [stdout]      |
[INFO] [stdout] 2405 | /             queue!(stdout(),
[INFO] [stdout] 2406 | |                 cursor::MoveTo(
[INFO] [stdout] 2407 | |                     (self.c + self.lp_width + self.ln_width + self.lns_width - 2) as u16,
[INFO] [stdout] 2408 | |                     (self.r - self.y + row + 1) as u16
[INFO] [stdout] 2409 | |                 ),
[INFO] [stdout] 2410 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),
[INFO] [stdout] 2411 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2545:13
[INFO] [stdout]      |
[INFO] [stdout] 2545 | /             queue!(stdout(),
[INFO] [stdout] 2546 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 1) as u16, row  as u16),
[INFO] [stdout] 2547 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),  BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stdout] 2548 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2704:13
[INFO] [stdout]      |
[INFO] [stdout] 2704 | /             queue!(stdout(),
[INFO] [stdout] 2705 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 1) as u16, (row + fromy) as u16),
[INFO] [stdout] 2706 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),
[INFO] [stdout] 2707 | |                 terminal::Clear(ClearType::UntilNewLine), BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stdout] 2708 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2716:9
[INFO] [stdout]      |
[INFO] [stdout] 2716 | /         queue!(stdout(),
[INFO] [stdout] 2717 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stdout] 2718 | |             BColor(Color::Reset), FColor(Color::Reset), Print(status),
[INFO] [stdout] 2719 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lsp.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 stdin.write_all(header.as_bytes()).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 let _ = stdin.write_all(header.as_bytes()).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lsp.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 stdin.write_all(m.as_bytes()).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 let _ = stdin.write_all(m.as_bytes()).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lsp.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 stdin.flush().await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let _ = stdin.flush().await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 reader.read_exact(&mut content).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 let _ = reader.read_exact(&mut content).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:134:29
[INFO] [stdout]     |
[INFO] [stdout] 134 | ...                   s.send(msg).await; // send to request channel
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 134 |                             let _ = s.send(msg).await; // send to request channel
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   diagnostic_send.send(d.params).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 146 |                                         let _ = diagnostic_send.send(d.params).await;
[INFO] [stdout]     |                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isIncomplete` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:712:13
[INFO] [stdout]     |
[INFO] [stdout] 712 |         pub isIncomplete: Option<bool>,
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `is_incomplete`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sortText` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:722:13
[INFO] [stdout]     |
[INFO] [stdout] 722 |         pub sortText: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `sort_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `insertText` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:723:13
[INFO] [stdout]     |
[INFO] [stdout] 723 |         pub insertText: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `insert_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `filterText` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:724:13
[INFO] [stdout]     |
[INFO] [stdout] 724 |         pub filterText: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `filter_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `insertTextFormat` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:725:13
[INFO] [stdout]     |
[INFO] [stdout] 725 |         pub insertTextFormat: Option<f64>,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `insert_text_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textEdit` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:726:13
[INFO] [stdout]     |
[INFO] [stdout] 726 |         pub textEdit: Option<TextEdit>,
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `text_edit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `newText` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 |         pub newText: String,
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `new_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tree.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     child.expand();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let _ = child.expand();
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         root.expand();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let _ = root.expand();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         root.expand();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let _ = root.expand();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         root.expand();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let _ = root.expand();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         queue!(stdout, cursor::Hide);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |             queue!(stdout, cursor::MoveTo(0, i as u16));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |                 queue!(stdout, Print(' '));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:278:17
[INFO] [stdout]     |
[INFO] [stdout] 278 |                 queue!(stdout, Print(' '));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:283:17
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 queue!(stdout, FColor(color), Print(ch));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     queue!(stdout, Print(' '));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |             queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |             queue!(stdout, cursor::MoveTo(0, count as u16));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 |             queue!(stdout, Print(" ".repeat(self.width-1)));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |         queue!(stdout,cursor::Show, cursor::MoveTo(0, (self.height -1) as u16));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         queue!(stdout, Print(&search));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         queue!(stdout, Print(" ".repeat(self.width-search.len()-1)));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |         queue!(stdout, cursor::MoveTo((prefix.len() + self.search.index) as u16, (self.height -1) as u16));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 |             node.expand();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let _ = node.expand();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |             node.expand();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 412 |             let _ = node.expand();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |             node.expand();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let _ = node.expand();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:435:21
[INFO] [stdout]     |
[INFO] [stdout] 435 |                     child.expand();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 435 |                     let _ = child.expand();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 33s
[INFO] running `Command { std: "docker" "inspect" "e2f791a931db8647c7945711f298d9fe422395793e42c908425f24ffae1babc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2f791a931db8647c7945711f298d9fe422395793e42c908425f24ffae1babc1", kill_on_drop: false }`
[INFO] [stdout] e2f791a931db8647c7945711f298d9fe422395793e42c908425f24ffae1babc1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1a653cd8228f9ff63cdf6b04d91cdddb1206e4a8a12d78937bfee9f7ca09441f
[INFO] running `Command { std: "docker" "start" "-a" "1a653cd8228f9ff63cdf6b04d91cdddb1206e4a8a12d78937bfee9f7ca09441f", kill_on_drop: false }`
[INFO] [stderr]    Compiling red v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rayon::vec`
[INFO] [stdout]  --> src/code.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon::vec;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyEventKind`
[INFO] [stdout]   --> src/editor.rs:11:46
[INFO] [stdout]    |
[INFO] [stdout] 11 |     MouseButton, MouseEvent, MouseEventKind, KeyEventKind
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cursor::position` and `event`
[INFO] [stdout]   --> src/editor.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     cursor::position,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     event, execute, queue,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Runnable`
[INFO] [stdout]   --> src/editor.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::code::{Code, NodePath, Runnable};
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::search::search::FileSearchResult`
[INFO] [stdout]   --> src/editor.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::search::search::FileSearchResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HoverResult`
[INFO] [stdout]   --> src/editor.rs:32:78
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::lsp::lsp_messages::{CompletionItem, Diagnostic, DiagnosticParams, HoverResult, ReferencesResult};
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> src/editor.rs:40:49
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Child` and `Command`
[INFO] [stdout]   --> src/editor.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 | use tokio::process::{Child, Command};
[INFO] [stdout]    |                      ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Receiver`
[INFO] [stdout]   --> src/editor.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use tokio::sync::mpsc::Receiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/editor.rs:926:67
[INFO] [stdout]     |
[INFO] [stdout] 926 |                 true => (format!("  {}  ", '▶'), Color::AnsiValue((87))), // todo: make it dynamic
[INFO] [stdout]     |                                                                   ^  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 926 -                 true => (format!("  {}  ", '▶'), Color::AnsiValue((87))), // todo: make it dynamic
[INFO] [stdout] 926 +                 true => (format!("  {}  ", '▶'), Color::AnsiValue(87)), // todo: make it dynamic
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/lsp.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]  --> src/lsp.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/lsp.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::oneshot`
[INFO] [stdout]   --> src/lsp.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::oneshot;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]    --> src/lsp.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |     use serde_json::Result;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]    --> src/lsp.rs:511:28
[INFO] [stdout]     |
[INFO] [stdout] 511 |     use serde_json::{json, Value};
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/process.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/process.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]    --> src/process.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     use tokio::sync::Mutex;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]   --> src/search.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |     use std::{fs, time};
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]   --> src/search.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use log2::{debug, info, error};
[INFO] [stdout]    |                ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicUsize`
[INFO] [stdout]   --> src/search.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |     use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]    --> src/search.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |     use std::path::{Display, Path};
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::ready`
[INFO] [stdout]    --> src/search.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 |         use futures::future::ready;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]    --> src/search.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |     use std::path::PathBuf;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::fs`
[INFO] [stdout]    --> src/search.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |     use tokio::fs;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::search`
[INFO] [stdout]    --> src/search.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |     use crate::search;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/search.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]    --> src/search.rs:405:29
[INFO] [stdout]     |
[INFO] [stdout] 405 |     use tokio::sync::{mpsc, Mutex};
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/tree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/tree.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueueableCommand`
[INFO] [stdout]  --> src/tree.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crossterm::{cursor, queue, QueueableCommand, style::Print};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de`
[INFO] [stdout]  --> src/tree.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::de;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::watch::error`
[INFO] [stdout]  --> src/tree.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::watch::error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SetBackgroundColor as BColor`
[INFO] [stdout]   --> src/tree.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crossterm::style::{Color, SetBackgroundColor as BColor, SetForegroundColor as FColor};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TreeNodeIterator` and `TreeNode`
[INFO] [stdout]    --> src/tree.rs:529:45
[INFO] [stdout]     |
[INFO] [stdout] 529 |     use super::{list_files_and_directories, TreeNode, TreeNodeIterator};
[INFO] [stdout]     |                                             ^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Point`, `QueryMatches`, and `Range`
[INFO] [stdout]  --> src/tests.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use tree_sitter::{Parser, Point, Query, QueryCursor, QueryMatches, Range, TreeCursor};
[INFO] [stdout]   |                               ^^^^^                      ^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryMatch`
[INFO] [stdout]   --> src/tests.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |     use tree_sitter::{Node, QueryMatch};
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/config.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/editor.rs:306:34
[INFO] [stdout]     |
[INFO] [stdout] 306 |                         Some(Err(e)) => { /* println!("Error: {:?}\r", e) */ } ,
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/editor.rs:854:13
[INFO] [stdout]     |
[INFO] [stdout] 854 |         let start = time::Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chars_len`
[INFO] [stdout]    --> src/editor.rs:940:17
[INFO] [stdout]     |
[INFO] [stdout] 940 |             let chars_len = line.chars().len();
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chars_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]     --> src/editor.rs:1024:17
[INFO] [stdout]      |
[INFO] [stdout] 1024 |             for c in self.lp_width..self.width-status.chars().count()-1 {
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/editor.rs:741:29
[INFO] [stdout]     |
[INFO] [stdout] 740 | ...                   std::process::exit(0);
[INFO] [stdout]     |                       --------------------- any code following this expression is unreachable
[INFO] [stdout] 741 | ...                   return;
[INFO] [stdout]     |                       ^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/lsp.rs:201:38
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub async fn wait_for(&mut self, id: usize, mut rx: mpsc::Receiver<String>) -> Option<String> {
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2195:26
[INFO] [stdout]      |
[INFO] [stdout] 2195 |             let (height, mut width) = (max_visible, 30);
[INFO] [stdout]      |                          ----^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2561:26
[INFO] [stdout]      |
[INFO] [stdout] 2561 |         let (mut height, mut width) = (max_visible, 30);
[INFO] [stdout]      |                          ----^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/editor.rs:400:21
[INFO] [stdout]     |
[INFO] [stdout] 396 |                     KeyCode::Char('g') => self.definition().await,
[INFO] [stdout]     |                     ------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 400 |                     KeyCode::Char('g') => {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2422:22
[INFO] [stdout]      |
[INFO] [stdout] 2422 |         let (height, mut width) = (5, 30);
[INFO] [stdout]      |                      ----^^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2347:14
[INFO] [stdout]      |
[INFO] [stdout] 2347 |         let (mut end, mut selected, mut selected_offset) = (false, 0, 0);
[INFO] [stdout]      |              ----^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:2348:22
[INFO] [stdout]      |
[INFO] [stdout] 2348 |         let (height, mut width) = (10, 30);
[INFO] [stdout]      |                      ----^^^^^
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:1956:13
[INFO] [stdout]      |
[INFO] [stdout] 1956 |         let mut end = false;
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:1978:26
[INFO] [stdout]      |
[INFO] [stdout] 1978 |             let (height, mut width) = (5, 30);
[INFO] [stdout]      |                          ----^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/editor.rs:1990:17
[INFO] [stdout]      |
[INFO] [stdout] 1990 |             let mut options = &completion_result.items;
[INFO] [stdout]      |                 ----^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/lsp.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |         let result = self.wait_for(id, rx).await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lsp.rs:215:18
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let (tx, mut rx) = tokio::sync::mpsc::channel::<String>(1);
[INFO] [stdout]     |                  ----^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tree.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stdout]     |             ------------------------------------------------------------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 464 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row`
[INFO] [stdout]    --> src/tree.rs:455:44
[INFO] [stdout]     |
[INFO] [stdout] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stdout]     |                                            ^^^ help: try ignoring the field: `row: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/tree.rs:455:49
[INFO] [stdout]     |
[INFO] [stdout] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stdout]     |                                                 ^^^^^^ help: try ignoring the field: `column: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/tree.rs:455:63
[INFO] [stdout]     |
[INFO] [stdout] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stdout]     |                                                               ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/tree.rs:459:60
[INFO] [stdout]     |
[INFO] [stdout] 459 |                     crossterm::event::MouseEventKind::Down(button) => {}
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/editor.rs:40:34
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncBufReadExt`
[INFO] [stdout]   --> src/editor.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/tree.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/code.rs:586:29
[INFO] [stdout]     |
[INFO] [stdout] 586 |                         let name = capture_name.split('.').next().unwrap_or(capture_name);
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/code.rs:874:17
[INFO] [stdout]     |
[INFO] [stdout] 874 |             let result: Vec<(usize, usize)> = search_iter.collect();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/code.rs:894:17
[INFO] [stdout]     |
[INFO] [stdout] 894 |             let result: Vec<(usize, usize)> = search_iter.collect();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/code.rs:947:17
[INFO] [stdout]     |
[INFO] [stdout] 947 |             let result = rope_search(slice, substring);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/editor.rs:127:16
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(dir: String, config: Config) -> Self {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/editor.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |             Err(e) => {},
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logo_width`
[INFO] [stdout]     --> src/editor.rs:1129:13
[INFO] [stdout]      |
[INFO] [stdout] 1129 |         let logo_width = lines.get(0).unwrap().len();
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logo_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lsp.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut stdout = child.stdout.take().unwrap();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send`
[INFO] [stdout]    --> src/lsp.rs:452:10
[INFO] [stdout]     |
[INFO] [stdout] 452 |     let (send, recv) = tokio::sync::oneshot::channel::<()>();
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lsp.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let mut stdout = child.stdout.take().unwrap();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send`
[INFO] [stdout]   --> src/process.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child_stdout_receiver`
[INFO] [stdout]   --> src/process.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_stdout_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> src/process.rs:98:26
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     Some(m) = kill.recv() => { // killing manually
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/process.rs:62:20
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stdout]    |                    ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/search.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let start = Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `files`
[INFO] [stdout]    --> src/search.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let files = files_processed.fetch_add(1, Ordering::Relaxed);
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_files`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:359:21
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 let mut thread_name = thread.id();
[INFO] [stdout]     |                     ----^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/search.rs:456:17
[INFO] [stdout]     |
[INFO] [stdout] 456 |             let sender = sender.clone();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/tree.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 Err(e) => { debug!("cant get abs_path for {}", name); continue;},
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/tree.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |             for i in 0..padding_left {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/tree.rs:276:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |             for i in 0..depth {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/tree.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 for i in 0..self.width-col-1 {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_provider`
[INFO] [stdout]   --> src/tests.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let text_provider = |node: tree_sitter::Node| {
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_code_bytes`
[INFO] [stdout]    --> src/tests.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let source_code_bytes = &source_code.as_bytes();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]    --> src/tests.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let matches = query_cursor.matches(&query, tree.root_node(), source_code.as_bytes());
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logger`
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let logger = match std::env::var("RED_LOG") {
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lines_from`, `get_from`, and `from_to` are never used
[INFO] [stdout]    --> src/code.rs:336:12
[INFO] [stdout]     |
[INFO] [stdout] 37  | impl Code {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn lines_from(&self, from: usize) -> Option<Lines> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn get_from(&self, from: usize) -> Lines {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn from_to(&self, row: usize, col: usize, row1: usize, col1: usize) -> RopeSlice {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `row` is never read
[INFO] [stdout]    --> src/code.rs:667:9
[INFO] [stdout]     |
[INFO] [stdout] 665 | pub struct Runnable {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 666 |     pub cmd: String,
[INFO] [stdout] 667 |     pub row: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `search_pattern` is never read
[INFO] [stdout]    --> src/code.rs:786:5
[INFO] [stdout]     |
[INFO] [stdout] 784 | struct EarlyTerminationSearch<'a> {
[INFO] [stdout]     |        ---------------------- field in this struct
[INFO] [stdout] 785 |     char_iter: ropey::iter::Chars<'a>,
[INFO] [stdout] 786 |     search_pattern: &'a str,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear_all` and `draw_logo` are never used
[INFO] [stdout]     --> src/editor.rs:835:8
[INFO] [stdout]      |
[INFO] [stdout] 126  | impl Editor {
[INFO] [stdout]      | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 835  |     fn clear_all(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1124 |     fn draw_logo(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `did_change_configuration` is never used
[INFO] [stdout]    --> src/lsp.rs:583:12
[INFO] [stdout]     |
[INFO] [stdout] 583 |     pub fn did_change_configuration() -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `did_change_watched_files` is never used
[INFO] [stdout]    --> src/lsp.rs:618:12
[INFO] [stdout]     |
[INFO] [stdout] 618 |     pub fn did_change_watched_files(path: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `document_link` is never used
[INFO] [stdout]    --> src/lsp.rs:632:12
[INFO] [stdout]     |
[INFO] [stdout] 632 |     pub fn document_link(path: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `completion` is never used
[INFO] [stdout]    --> src/lsp.rs:682:12
[INFO] [stdout]     |
[INFO] [stdout] 682 |     pub fn completion(id: usize, path: &str, line: usize, character: usize) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_false`, `kill_process`, `upd`, and `lines` are never used
[INFO] [stdout]    --> src/process.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 14  | impl Process {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn update_false(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn kill_process(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn upd(&self) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn lines(&self) -> Arc<Mutex<Vec<String>>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `preview` is never read
[INFO] [stdout]    --> src/search.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub struct SearchResult {
[INFO] [stdout]     |                ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |         preview: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line_number`, `column`, and `line` are never read
[INFO] [stdout]    --> src/search.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub struct SearchResult {
[INFO] [stdout]     |                ------------ fields in this struct
[INFO] [stdout] 268 |         line_number: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 269 |         column: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 270 |         line: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line_number`, `column`, and `line` are never read
[INFO] [stdout]    --> src/search.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |     pub struct SearchResult {
[INFO] [stdout]     |                ------------ fields in this struct
[INFO] [stdout] 409 |         line_number: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 410 |         column: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 411 |         line: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `swap` is never used
[INFO] [stdout]    --> src/selection.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 38  | impl Selection {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn swap(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dir` is never read
[INFO] [stdout]    --> src/tree.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct TreeView {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     dir: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `find_and_toggle`, `find_by_index_expand`, and `handle_mouse` are never used
[INFO] [stdout]    --> src/tree.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl TreeView {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn find_and_toggle(&mut self, index: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn find_by_index_expand(node: &mut TreeNode, index: usize, count: &mut usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     pub async fn handle_mouse(&mut self, e: crossterm::event::MouseEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `walk_tree` is never used
[INFO] [stdout]  --> src/tests.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn walk_tree(cursor: &mut TreeCursor, source_code: &str) {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_rgb` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn hex_to_rgb(hex_color: &str) -> (u8, u8, u8) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_left` is never used
[INFO] [stdout]   --> src/utils.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn pad_left(str: &str, length: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:535:29
[INFO] [stdout]     |
[INFO] [stdout] 535 | ...                   node.toggle();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 535 |                             let _ = node.toggle();
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:653:45
[INFO] [stdout]     |
[INFO] [stdout] 653 | ...                   node.toggle();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 653 |                                             let _ = node.toggle();
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:857:13
[INFO] [stdout]     |
[INFO] [stdout] 857 |             queue!(stdout(), cursor::Hide);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:858:44
[INFO] [stdout]     |
[INFO] [stdout] 858 |             if self.tree_view.is_search(){ queue!(stdout(), cursor::Show); }
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:922:13
[INFO] [stdout]     |
[INFO] [stdout] 922 |             queue!(stdout, BColor(Color::Reset), FColor(lncolor), Print(line_number));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:931:13
[INFO] [stdout]     |
[INFO] [stdout] 931 |             queue!(stdout, BColor(Color::Reset), FColor(run_or_empty_color), Print(run_or_empty));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/editor.rs:932:13
[INFO] [stdout]     |
[INFO] [stdout] 932 |             queue!(stdout, BColor(Color::Reset), FColor(Color::Reset));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1019:17
[INFO] [stdout]      |
[INFO] [stdout] 1019 |                 queue!(stdout, cursor::MoveTo(self.lp_width as u16, row as u16));
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1023:13
[INFO] [stdout]      |
[INFO] [stdout] 1023 |             queue!(stdout, cursor::MoveTo(self.lp_width as u16, self.height as u16));
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1059:9
[INFO] [stdout]      |
[INFO] [stdout] 1059 |         queue!(stdout(), Print(" ".repeat(space)));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1137:13
[INFO] [stdout]      |
[INFO] [stdout] 1137 | /             queue!(stdout,
[INFO] [stdout] 1138 | |                 cursor::MoveTo(self.lp_width as u16, r as u16),
[INFO] [stdout] 1139 | |                 terminal::Clear(ClearType::UntilNewLine)
[INFO] [stdout] 1140 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1768:53
[INFO] [stdout]      |
[INFO] [stdout] 1768 | ...                   queue!(stdout(), terminal::Clear(ClearType::All));
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1769:53
[INFO] [stdout]      |
[INFO] [stdout] 1769 | ...                   stdout().flush();
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1769 |                                                     let _ = stdout().flush();
[INFO] [stdout]      |                                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1839:9
[INFO] [stdout]      |
[INFO] [stdout] 1839 | /         queue!(stdout(),
[INFO] [stdout] 1840 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stdout] 1841 | |             BColor(Color::Reset), FColor(Color::Reset), Print(line),
[INFO] [stdout] 1842 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1843:9
[INFO] [stdout]      |
[INFO] [stdout] 1843 | /         queue!(stdout(),
[INFO] [stdout] 1844 | |             cursor::MoveTo((self.lp_width + 1 + prefix.len() + x) as u16, y as u16),
[INFO] [stdout] 1845 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1847:9
[INFO] [stdout]      |
[INFO] [stdout] 1847 |         stdout().flush();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1847 |         let _ = stdout().flush();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1858:9
[INFO] [stdout]      |
[INFO] [stdout] 1858 | /         queue!(stdout(),
[INFO] [stdout] 1859 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stdout] 1860 | |             BColor(Color::Reset), FColor(Color::Reset), Print(" ".repeat(line.chars().count())),
[INFO] [stdout] 1861 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:1863:9
[INFO] [stdout]      |
[INFO] [stdout] 1863 |         stdout().flush();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1863 |         let _ = stdout().flush();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2087:13
[INFO] [stdout]      |
[INFO] [stdout] 2087 | /             queue!(stdout(),
[INFO] [stdout] 2088 | |                 cursor::MoveTo(
[INFO] [stdout] 2089 | |                     (self.c + self.lp_width + self.ln_width + self.lns_width - 2) as u16,
[INFO] [stdout] 2090 | |                     (self.r - self.y + row + 1) as u16
[INFO] [stdout] ...    |
[INFO] [stdout] 2094 | |                 BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stdout] 2095 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2315:13
[INFO] [stdout]      |
[INFO] [stdout] 2315 | /             queue!(stdout(),
[INFO] [stdout] 2316 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 2) as u16, (row + fromy) as u16),
[INFO] [stdout] 2317 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),  BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stdout] 2318 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2323:9
[INFO] [stdout]      |
[INFO] [stdout] 2323 | /         queue!(stdout(),
[INFO] [stdout] 2324 | |             cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 2) as u16, (self.height-1) as u16),
[INFO] [stdout] 2325 | |             BColor(Color::Reset), FColor(Color::Reset), Print(status),
[INFO] [stdout] 2326 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2405:13
[INFO] [stdout]      |
[INFO] [stdout] 2405 | /             queue!(stdout(),
[INFO] [stdout] 2406 | |                 cursor::MoveTo(
[INFO] [stdout] 2407 | |                     (self.c + self.lp_width + self.ln_width + self.lns_width - 2) as u16,
[INFO] [stdout] 2408 | |                     (self.r - self.y + row + 1) as u16
[INFO] [stdout] 2409 | |                 ),
[INFO] [stdout] 2410 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),
[INFO] [stdout] 2411 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2545:13
[INFO] [stdout]      |
[INFO] [stdout] 2545 | /             queue!(stdout(),
[INFO] [stdout] 2546 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 1) as u16, row  as u16),
[INFO] [stdout] 2547 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),  BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stdout] 2548 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2704:13
[INFO] [stdout]      |
[INFO] [stdout] 2704 | /             queue!(stdout(),
[INFO] [stdout] 2705 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 1) as u16, (row + fromy) as u16),
[INFO] [stdout] 2706 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),
[INFO] [stdout] 2707 | |                 terminal::Clear(ClearType::UntilNewLine), BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stdout] 2708 | |             );
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/editor.rs:2716:9
[INFO] [stdout]      |
[INFO] [stdout] 2716 | /         queue!(stdout(),
[INFO] [stdout] 2717 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stdout] 2718 | |             BColor(Color::Reset), FColor(Color::Reset), Print(status),
[INFO] [stdout] 2719 | |         );
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lsp.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 stdin.write_all(header.as_bytes()).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 let _ = stdin.write_all(header.as_bytes()).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lsp.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 stdin.write_all(m.as_bytes()).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 let _ = stdin.write_all(m.as_bytes()).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lsp.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 stdin.flush().await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let _ = stdin.flush().await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 reader.read_exact(&mut content).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 let _ = reader.read_exact(&mut content).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:134:29
[INFO] [stdout]     |
[INFO] [stdout] 134 | ...                   s.send(msg).await; // send to request channel
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 134 |                             let _ = s.send(msg).await; // send to request channel
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   diagnostic_send.send(d.params).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 146 |                                         let _ = diagnostic_send.send(d.params).await;
[INFO] [stdout]     |                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 406 |     lsp.start(lang, "rust-analyzer", None);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 406 |     let _ = lsp.start(lang, "rust-analyzer", None);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `futures::Future` that must be used
[INFO] [stdout]    --> src/lsp.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 412 |     lsp.init(dir);
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |             stdin.write_all(m.as_bytes()).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 469 |             let _ = stdin.write_all(m.as_bytes()).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lsp.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         send2_arc.send("hello\n".to_string()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let _ = send2_arc.send("hello\n".to_string()).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isIncomplete` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:712:13
[INFO] [stdout]     |
[INFO] [stdout] 712 |         pub isIncomplete: Option<bool>,
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `is_incomplete`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sortText` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:722:13
[INFO] [stdout]     |
[INFO] [stdout] 722 |         pub sortText: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `sort_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `insertText` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:723:13
[INFO] [stdout]     |
[INFO] [stdout] 723 |         pub insertText: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `insert_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `filterText` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:724:13
[INFO] [stdout]     |
[INFO] [stdout] 724 |         pub filterText: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `filter_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `insertTextFormat` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:725:13
[INFO] [stdout]     |
[INFO] [stdout] 725 |         pub insertTextFormat: Option<f64>,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `insert_text_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textEdit` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:726:13
[INFO] [stdout]     |
[INFO] [stdout] 726 |         pub textEdit: Option<TextEdit>,
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `text_edit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `newText` should have a snake case name
[INFO] [stdout]    --> src/lsp.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 |         pub newText: String,
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `new_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_async_listFiles` should have a snake case name
[INFO] [stdout]    --> src/search.rs:326:14
[INFO] [stdout]     |
[INFO] [stdout] 326 |     async fn test_async_listFiles() -> io::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_async_list_files`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/search.rs:387:13
[INFO] [stdout]     |
[INFO] [stdout] 387 |             tx.send("sending from first handle").await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 387 |             let _ = tx.send("sending from first handle").await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/search.rs:391:13
[INFO] [stdout]     |
[INFO] [stdout] 391 |             tx2.send("sending from second handle").await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 391 |             let _ = tx2.send("sending from second handle").await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/search.rs:458:17
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 t.await;
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let _ = t.await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tree.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     child.expand();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let _ = child.expand();
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         root.expand();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let _ = root.expand();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         root.expand();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let _ = root.expand();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         root.expand();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let _ = root.expand();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         queue!(stdout, cursor::Hide);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |             queue!(stdout, cursor::MoveTo(0, i as u16));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |                 queue!(stdout, Print(' '));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:278:17
[INFO] [stdout]     |
[INFO] [stdout] 278 |                 queue!(stdout, Print(' '));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:283:17
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 queue!(stdout, FColor(color), Print(ch));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     queue!(stdout, Print(' '));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |             queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |             queue!(stdout, cursor::MoveTo(0, count as u16));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 |             queue!(stdout, Print(" ".repeat(self.width-1)));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |         queue!(stdout,cursor::Show, cursor::MoveTo(0, (self.height -1) as u16));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         queue!(stdout, Print(&search));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         queue!(stdout, Print(" ".repeat(self.width-search.len()-1)));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |         queue!(stdout, cursor::MoveTo((prefix.len() + self.search.index) as u16, (self.height -1) as u16));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 |             node.expand();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let _ = node.expand();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |             node.expand();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 412 |             let _ = node.expand();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |             node.expand();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let _ = node.expand();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/tree.rs:435:21
[INFO] [stdout]     |
[INFO] [stdout] 435 |                     child.expand();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 435 |                     let _ = child.expand();
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 13.43s
[INFO] running `Command { std: "docker" "inspect" "1a653cd8228f9ff63cdf6b04d91cdddb1206e4a8a12d78937bfee9f7ca09441f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a653cd8228f9ff63cdf6b04d91cdddb1206e4a8a12d78937bfee9f7ca09441f", kill_on_drop: false }`
[INFO] [stdout] 1a653cd8228f9ff63cdf6b04d91cdddb1206e4a8a12d78937bfee9f7ca09441f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a39e378a29d57ab19d8230bcd994151d5ce1ca943f1abf1b1aa8256474048769
[INFO] running `Command { std: "docker" "start" "-a" "a39e378a29d57ab19d8230bcd994151d5ce1ca943f1abf1b1aa8256474048769", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `rayon::vec`
[INFO] [stderr]  --> src/code.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rayon::vec;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyEventKind`
[INFO] [stderr]   --> src/editor.rs:11:46
[INFO] [stderr]    |
[INFO] [stderr] 11 |     MouseButton, MouseEvent, MouseEventKind, KeyEventKind
[INFO] [stderr]    |                                              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `cursor::position` and `event`
[INFO] [stderr]   --> src/editor.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     cursor::position,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 20 |     event, execute, queue,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Runnable`
[INFO] [stderr]   --> src/editor.rs:27:35
[INFO] [stderr]    |
[INFO] [stderr] 27 | use crate::code::{Code, NodePath, Runnable};
[INFO] [stderr]    |                                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::search::search::FileSearchResult`
[INFO] [stderr]   --> src/editor.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | use crate::search::search::FileSearchResult;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HoverResult`
[INFO] [stderr]   --> src/editor.rs:32:78
[INFO] [stderr]    |
[INFO] [stderr] 32 | use crate::lsp::lsp_messages::{CompletionItem, Diagnostic, DiagnosticParams, HoverResult, ReferencesResult};
[INFO] [stderr]    |                                                                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufReader`
[INFO] [stderr]   --> src/editor.rs:40:49
[INFO] [stderr]    |
[INFO] [stderr] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stderr]    |                                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Child` and `Command`
[INFO] [stderr]   --> src/editor.rs:41:22
[INFO] [stderr]    |
[INFO] [stderr] 41 | use tokio::process::{Child, Command};
[INFO] [stderr]    |                      ^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::sync::mpsc::Receiver`
[INFO] [stderr]   --> src/editor.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | use tokio::sync::mpsc::Receiver;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/editor.rs:926:67
[INFO] [stderr]     |
[INFO] [stderr] 926 |                 true => (format!("  {}  ", '▶'), Color::AnsiValue((87))), // todo: make it dynamic
[INFO] [stderr]     |                                                                   ^  ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 926 -                 true => (format!("  {}  ", '▶'), Color::AnsiValue((87))), // todo: make it dynamic
[INFO] [stderr] 926 +                 true => (format!("  {}  ", '▶'), Color::AnsiValue(87)), // todo: make it dynamic
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stderr]  --> src/lsp.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::Result`
[INFO] [stderr]  --> src/lsp.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use serde_json::Result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Error`
[INFO] [stderr]  --> src/lsp.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::sync::oneshot`
[INFO] [stderr]   --> src/lsp.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use tokio::sync::oneshot;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::Result`
[INFO] [stderr]    --> src/lsp.rs:510:9
[INFO] [stderr]     |
[INFO] [stderr] 510 |     use serde_json::Result;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]    --> src/lsp.rs:511:28
[INFO] [stderr]     |
[INFO] [stderr] 511 |     use serde_json::{json, Value};
[INFO] [stderr]     |                            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]  --> src/process.rs:3:34
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stderr]   |                                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]    --> src/process.rs:168:9
[INFO] [stderr]     |
[INFO] [stderr] 168 |     use std::sync::Arc;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::sync::Mutex`
[INFO] [stderr]    --> src/process.rs:169:9
[INFO] [stderr]     |
[INFO] [stderr] 169 |     use tokio::sync::Mutex;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `time`
[INFO] [stderr]   --> src/search.rs:29:19
[INFO] [stderr]    |
[INFO] [stderr] 29 |     use std::{fs, time};
[INFO] [stderr]    |                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stderr]   --> src/search.rs:32:16
[INFO] [stderr]    |
[INFO] [stderr] 32 |     use log2::{debug, info, error};
[INFO] [stderr]    |                ^^^^^  ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AtomicUsize`
[INFO] [stderr]   --> src/search.rs:33:29
[INFO] [stderr]    |
[INFO] [stderr] 33 |     use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stderr]    |                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]    --> src/search.rs:254:21
[INFO] [stderr]     |
[INFO] [stderr] 254 |     use std::path::{Display, Path};
[INFO] [stderr]     |                     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::future::ready`
[INFO] [stderr]    --> src/search.rs:299:13
[INFO] [stderr]     |
[INFO] [stderr] 299 |         use futures::future::ready;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]    --> src/search.rs:322:9
[INFO] [stderr]     |
[INFO] [stderr] 322 |     use std::path::PathBuf;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::fs`
[INFO] [stderr]    --> src/search.rs:323:9
[INFO] [stderr]     |
[INFO] [stderr] 323 |     use tokio::fs;
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::search`
[INFO] [stderr]    --> src/search.rs:378:9
[INFO] [stderr]     |
[INFO] [stderr] 378 |     use crate::search;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]    --> src/search.rs:403:9
[INFO] [stderr]     |
[INFO] [stderr] 403 |     use std::sync::Arc;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]    --> src/search.rs:405:29
[INFO] [stderr]     |
[INFO] [stderr] 405 |     use tokio::sync::{mpsc, Mutex};
[INFO] [stderr]     |                             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/tree.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PathBuf`
[INFO] [stderr]  --> src/tree.rs:3:23
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `QueueableCommand`
[INFO] [stderr]  --> src/tree.rs:5:32
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crossterm::{cursor, queue, QueueableCommand, style::Print};
[INFO] [stderr]   |                                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::de`
[INFO] [stderr]  --> src/tree.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use serde::de;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::sync::watch::error`
[INFO] [stderr]  --> src/tree.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tokio::sync::watch::error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SetBackgroundColor as BColor`
[INFO] [stderr]   --> src/tree.rs:12:31
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crossterm::style::{Color, SetBackgroundColor as BColor, SetForegroundColor as FColor};
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TreeNodeIterator` and `TreeNode`
[INFO] [stderr]    --> src/tree.rs:529:45
[INFO] [stderr]     |
[INFO] [stderr] 529 |     use super::{list_files_and_directories, TreeNode, TreeNodeIterator};
[INFO] [stderr]     |                                             ^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Point`, `QueryMatches`, and `Range`
[INFO] [stderr]  --> src/tests.rs:4:31
[INFO] [stderr]   |
[INFO] [stderr] 4 |     use tree_sitter::{Parser, Point, Query, QueryCursor, QueryMatches, Range, TreeCursor};
[INFO] [stderr]   |                               ^^^^^                      ^^^^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `QueryMatch`
[INFO] [stderr]   --> src/tests.rs:50:29
[INFO] [stderr]    |
[INFO] [stderr] 50 |     use tree_sitter::{Node, QueryMatch};
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Serialize`
[INFO] [stderr]  --> src/config.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |                          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/editor.rs:306:34
[INFO] [stderr]     |
[INFO] [stderr] 306 |                         Some(Err(e)) => { /* println!("Error: {:?}\r", e) */ } ,
[INFO] [stderr]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]    --> src/editor.rs:854:13
[INFO] [stderr]     |
[INFO] [stderr] 854 |         let start = time::Instant::now();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chars_len`
[INFO] [stderr]    --> src/editor.rs:940:17
[INFO] [stderr]     |
[INFO] [stderr] 940 |             let chars_len = line.chars().len();
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chars_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]     --> src/editor.rs:1024:17
[INFO] [stderr]      |
[INFO] [stderr] 1024 |             for c in self.lp_width..self.width-status.chars().count()-1 {
[INFO] [stderr]      |                 ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]    --> src/editor.rs:741:29
[INFO] [stderr]     |
[INFO] [stderr] 740 | ...                   std::process::exit(0);
[INFO] [stderr]     |                       --------------------- any code following this expression is unreachable
[INFO] [stderr] 741 | ...                   return;
[INFO] [stderr]     |                       ^^^^^^^ unreachable statement
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/lsp.rs:201:38
[INFO] [stderr]     |
[INFO] [stderr] 201 |     pub async fn wait_for(&mut self, id: usize, mut rx: mpsc::Receiver<String>) -> Option<String> {
[INFO] [stderr]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/editor.rs:2195:26
[INFO] [stderr]      |
[INFO] [stderr] 2195 |             let (height, mut width) = (max_visible, 30);
[INFO] [stderr]      |                          ----^^^^^
[INFO] [stderr]      |                          |
[INFO] [stderr]      |                          help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/editor.rs:2561:26
[INFO] [stderr]      |
[INFO] [stderr] 2561 |         let (mut height, mut width) = (max_visible, 30);
[INFO] [stderr]      |                          ----^^^^^
[INFO] [stderr]      |                          |
[INFO] [stderr]      |                          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/editor.rs:400:21
[INFO] [stderr]     |
[INFO] [stderr] 396 |                     KeyCode::Char('g') => self.definition().await,
[INFO] [stderr]     |                     ------------------ matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 400 |                     KeyCode::Char('g') => {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/editor.rs:2422:22
[INFO] [stderr]      |
[INFO] [stderr] 2422 |         let (height, mut width) = (5, 30);
[INFO] [stderr]      |                      ----^^^^^
[INFO] [stderr]      |                      |
[INFO] [stderr]      |                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/editor.rs:2347:14
[INFO] [stderr]      |
[INFO] [stderr] 2347 |         let (mut end, mut selected, mut selected_offset) = (false, 0, 0);
[INFO] [stderr]      |              ----^^^
[INFO] [stderr]      |              |
[INFO] [stderr]      |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/editor.rs:2348:22
[INFO] [stderr]      |
[INFO] [stderr] 2348 |         let (height, mut width) = (10, 30);
[INFO] [stderr]      |                      ----^^^^^
[INFO] [stderr]      |                      |
[INFO] [stderr]      |                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/editor.rs:1956:13
[INFO] [stderr]      |
[INFO] [stderr] 1956 |         let mut end = false;
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/editor.rs:1978:26
[INFO] [stderr]      |
[INFO] [stderr] 1978 |             let (height, mut width) = (5, 30);
[INFO] [stderr]      |                          ----^^^^^
[INFO] [stderr]      |                          |
[INFO] [stderr]      |                          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/editor.rs:1990:17
[INFO] [stderr]      |
[INFO] [stderr] 1990 |             let mut options = &completion_result.items;
[INFO] [stderr]      |                 ----^^^^^^^
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result`
[INFO] [stderr]    --> src/lsp.rs:220:13
[INFO] [stderr]     |
[INFO] [stderr] 220 |         let result = self.wait_for(id, rx).await;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lsp.rs:215:18
[INFO] [stderr]     |
[INFO] [stderr] 215 |         let (tx, mut rx) = tokio::sync::mpsc::channel::<String>(1);
[INFO] [stderr]     |                  ----^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/tree.rs:464:13
[INFO] [stderr]     |
[INFO] [stderr] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stderr]     |             ------------------------------------------------------------- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 464 |             _ => {}
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `row`
[INFO] [stderr]    --> src/tree.rs:455:44
[INFO] [stderr]     |
[INFO] [stderr] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stderr]     |                                            ^^^ help: try ignoring the field: `row: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `column`
[INFO] [stderr]    --> src/tree.rs:455:49
[INFO] [stderr]     |
[INFO] [stderr] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stderr]     |                                                 ^^^^^^ help: try ignoring the field: `column: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `modifiers`
[INFO] [stderr]    --> src/tree.rs:455:63
[INFO] [stderr]     |
[INFO] [stderr] 455 |             crossterm::event::MouseEvent { row, column, kind, modifiers } =>  {
[INFO] [stderr]     |                                                               ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `button`
[INFO] [stderr]    --> src/tree.rs:459:60
[INFO] [stderr]     |
[INFO] [stderr] 459 |                     crossterm::event::MouseEventKind::Down(button) => {}
[INFO] [stderr]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]   --> src/editor.rs:40:34
[INFO] [stderr]    |
[INFO] [stderr] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncBufReadExt`
[INFO] [stderr]   --> src/editor.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 | use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> src/tree.rs:4:21
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::{self, Write};
[INFO] [stderr]   |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/code.rs:586:29
[INFO] [stderr]     |
[INFO] [stderr] 586 |                         let name = capture_name.split('.').next().unwrap_or(capture_name);
[INFO] [stderr]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result`
[INFO] [stderr]    --> src/code.rs:874:17
[INFO] [stderr]     |
[INFO] [stderr] 874 |             let result: Vec<(usize, usize)> = search_iter.collect();
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result`
[INFO] [stderr]    --> src/code.rs:894:17
[INFO] [stderr]     |
[INFO] [stderr] 894 |             let result: Vec<(usize, usize)> = search_iter.collect();
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result`
[INFO] [stderr]    --> src/code.rs:947:17
[INFO] [stderr]     |
[INFO] [stderr] 947 |             let result = rope_search(slice, substring);
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dir`
[INFO] [stderr]    --> src/editor.rs:127:16
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub fn new(dir: String, config: Config) -> Self {
[INFO] [stderr]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/editor.rs:170:17
[INFO] [stderr]     |
[INFO] [stderr] 170 |             Err(e) => {},
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `logo_width`
[INFO] [stderr]     --> src/editor.rs:1129:13
[INFO] [stderr]      |
[INFO] [stderr] 1129 |         let logo_width = lines.get(0).unwrap().len();
[INFO] [stderr]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logo_width`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lsp.rs:81:13
[INFO] [stderr]    |
[INFO] [stderr] 81 |         let mut stdout = child.stdout.take().unwrap();
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `send`
[INFO] [stderr]    --> src/lsp.rs:452:10
[INFO] [stderr]     |
[INFO] [stderr] 452 |     let (send, recv) = tokio::sync::oneshot::channel::<()>();
[INFO] [stderr]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_send`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lsp.rs:463:9
[INFO] [stderr]     |
[INFO] [stderr] 463 |     let mut stdout = child.stdout.take().unwrap();
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `send`
[INFO] [stderr]   --> src/process.rs:62:14
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stderr]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_send`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `child_stdout_receiver`
[INFO] [stderr]   --> src/process.rs:62:24
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_stdout_receiver`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `m`
[INFO] [stderr]   --> src/process.rs:98:26
[INFO] [stderr]    |
[INFO] [stderr] 98 |                     Some(m) = kill.recv() => { // killing manually
[INFO] [stderr]    |                          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/process.rs:62:20
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let (send, mut child_stdout_receiver) = tokio::sync::mpsc::channel::<String>(10);
[INFO] [stderr]    |                    ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]    --> src/search.rs:173:13
[INFO] [stderr]     |
[INFO] [stderr] 173 |         let start = Instant::now();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `files`
[INFO] [stderr]    --> src/search.rs:180:21
[INFO] [stderr]     |
[INFO] [stderr] 180 |                 let files = files_processed.fetch_add(1, Ordering::Relaxed);
[INFO] [stderr]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_files`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/search.rs:359:21
[INFO] [stderr]     |
[INFO] [stderr] 359 |                 let mut thread_name = thread.id();
[INFO] [stderr]     |                     ----^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sender`
[INFO] [stderr]    --> src/search.rs:456:17
[INFO] [stderr]     |
[INFO] [stderr] 456 |             let sender = sender.clone();
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/tree.rs:45:21
[INFO] [stderr]    |
[INFO] [stderr] 45 |                 Err(e) => { debug!("cant get abs_path for {}", name); continue;},
[INFO] [stderr]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/tree.rs:271:17
[INFO] [stderr]     |
[INFO] [stderr] 271 |             for i in 0..padding_left {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/tree.rs:276:17
[INFO] [stderr]     |
[INFO] [stderr] 276 |             for i in 0..depth {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/tree.rs:288:21
[INFO] [stderr]     |
[INFO] [stderr] 288 |                 for i in 0..self.width-col-1 {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `text_provider`
[INFO] [stderr]   --> src/tests.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |         let text_provider = |node: tree_sitter::Node| {
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_provider`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source_code_bytes`
[INFO] [stderr]    --> src/tests.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let source_code_bytes = &source_code.as_bytes();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code_bytes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `matches`
[INFO] [stderr]    --> src/tests.rs:112:13
[INFO] [stderr]     |
[INFO] [stderr] 112 |         let matches = query_cursor.matches(&query, tree.root_node(), source_code.as_bytes());
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `logger`
[INFO] [stderr]   --> src/main.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |     let logger = match std::env::var("RED_LOG") {
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger`
[INFO] [stderr] 
[INFO] [stderr] warning: methods `lines_from`, `get_from`, and `from_to` are never used
[INFO] [stderr]    --> src/code.rs:336:12
[INFO] [stderr]     |
[INFO] [stderr] 37  | impl Code {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 336 |     pub fn lines_from(&self, from: usize) -> Option<Lines> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 340 |     pub fn get_from(&self, from: usize) -> Lines {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 344 |     pub fn from_to(&self, row: usize, col: usize, row1: usize, col1: usize) -> RopeSlice {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `row` is never read
[INFO] [stderr]    --> src/code.rs:667:9
[INFO] [stderr]     |
[INFO] [stderr] 665 | pub struct Runnable {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] 666 |     pub cmd: String,
[INFO] [stderr] 667 |     pub row: usize,
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `search_pattern` is never read
[INFO] [stderr]    --> src/code.rs:786:5
[INFO] [stderr]     |
[INFO] [stderr] 784 | struct EarlyTerminationSearch<'a> {
[INFO] [stderr]     |        ---------------------- field in this struct
[INFO] [stderr] 785 |     char_iter: ropey::iter::Chars<'a>,
[INFO] [stderr] 786 |     search_pattern: &'a str,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `clear_all` and `draw_logo` are never used
[INFO] [stderr]     --> src/editor.rs:835:8
[INFO] [stderr]      |
[INFO] [stderr] 126  | impl Editor {
[INFO] [stderr]      | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 835  |     fn clear_all(&mut self) {
[INFO] [stderr]      |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1124 |     fn draw_logo(&mut self) {
[INFO] [stderr]      |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `did_change_configuration` is never used
[INFO] [stderr]    --> src/lsp.rs:583:12
[INFO] [stderr]     |
[INFO] [stderr] 583 |     pub fn did_change_configuration() -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `did_change_watched_files` is never used
[INFO] [stderr]    --> src/lsp.rs:618:12
[INFO] [stderr]     |
[INFO] [stderr] 618 |     pub fn did_change_watched_files(path: &str) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `document_link` is never used
[INFO] [stderr]    --> src/lsp.rs:632:12
[INFO] [stderr]     |
[INFO] [stderr] 632 |     pub fn document_link(path: &str) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `completion` is never used
[INFO] [stderr]    --> src/lsp.rs:682:12
[INFO] [stderr]     |
[INFO] [stderr] 682 |     pub fn completion(id: usize, path: &str, line: usize, character: usize) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `update_false`, `kill_process`, `upd`, and `lines` are never used
[INFO] [stderr]    --> src/process.rs:128:12
[INFO] [stderr]     |
[INFO] [stderr] 14  | impl Process {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 128 |     pub fn update_false(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub fn kill_process(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 148 |     pub fn upd(&self) -> bool {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 152 |     pub fn lines(&self) -> Arc<Mutex<Vec<String>>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `preview` is never read
[INFO] [stderr]    --> src/search.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub struct SearchResult {
[INFO] [stderr]     |                ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 112 |         preview: String,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `line_number`, `column`, and `line` are never read
[INFO] [stderr]    --> src/search.rs:268:9
[INFO] [stderr]     |
[INFO] [stderr] 267 |     pub struct SearchResult {
[INFO] [stderr]     |                ------------ fields in this struct
[INFO] [stderr] 268 |         line_number: usize,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 269 |         column: usize,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 270 |         line: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `line_number`, `column`, and `line` are never read
[INFO] [stderr]    --> src/search.rs:409:9
[INFO] [stderr]     |
[INFO] [stderr] 408 |     pub struct SearchResult {
[INFO] [stderr]     |                ------------ fields in this struct
[INFO] [stderr] 409 |         line_number: usize,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 410 |         column: usize,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 411 |         line: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `swap` is never used
[INFO] [stderr]    --> src/selection.rs:109:12
[INFO] [stderr]     |
[INFO] [stderr] 38  | impl Selection {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 109 |     pub fn swap(&mut self) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `dir` is never read
[INFO] [stderr]    --> src/tree.rs:146:5
[INFO] [stderr]     |
[INFO] [stderr] 143 | pub struct TreeView {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 146 |     dir: String,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `find_and_toggle`, `find_by_index_expand`, and `handle_mouse` are never used
[INFO] [stderr]    --> src/tree.rs:366:12
[INFO] [stderr]     |
[INFO] [stderr] 165 | impl TreeView {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 366 |     pub fn find_and_toggle(&mut self, index: usize) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 391 |     fn find_by_index_expand(node: &mut TreeNode, index: usize, count: &mut usize) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 453 |     pub async fn handle_mouse(&mut self, e: crossterm::event::MouseEvent) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `walk_tree` is never used
[INFO] [stderr]  --> src/tests.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn walk_tree(cursor: &mut TreeCursor, source_code: &str) {
[INFO] [stderr]   |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `hex_to_rgb` is never used
[INFO] [stderr]   --> src/utils.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub fn hex_to_rgb(hex_color: &str) -> (u8, u8, u8) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pad_left` is never used
[INFO] [stderr]   --> src/utils.rs:78:8
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub fn pad_left(str: &str, length: usize) -> String {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/editor.rs:535:29
[INFO] [stderr]     |
[INFO] [stderr] 535 | ...                   node.toggle();
[INFO] [stderr]     |                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 535 |                             let _ = node.toggle();
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/editor.rs:653:45
[INFO] [stderr]     |
[INFO] [stderr] 653 | ...                   node.toggle();
[INFO] [stderr]     |                       ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 653 |                                             let _ = node.toggle();
[INFO] [stderr]     |                                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/editor.rs:857:13
[INFO] [stderr]     |
[INFO] [stderr] 857 |             queue!(stdout(), cursor::Hide);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/editor.rs:858:44
[INFO] [stderr]     |
[INFO] [stderr] 858 |             if self.tree_view.is_search(){ queue!(stdout(), cursor::Show); }
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/editor.rs:922:13
[INFO] [stderr]     |
[INFO] [stderr] 922 |             queue!(stdout, BColor(Color::Reset), FColor(lncolor), Print(line_number));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/editor.rs:931:13
[INFO] [stderr]     |
[INFO] [stderr] 931 |             queue!(stdout, BColor(Color::Reset), FColor(run_or_empty_color), Print(run_or_empty));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/editor.rs:932:13
[INFO] [stderr]     |
[INFO] [stderr] 932 |             queue!(stdout, BColor(Color::Reset), FColor(Color::Reset));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1019:17
[INFO] [stderr]      |
[INFO] [stderr] 1019 |                 queue!(stdout, cursor::MoveTo(self.lp_width as u16, row as u16));
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1023:13
[INFO] [stderr]      |
[INFO] [stderr] 1023 |             queue!(stdout, cursor::MoveTo(self.lp_width as u16, self.height as u16));
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1059:9
[INFO] [stderr]      |
[INFO] [stderr] 1059 |         queue!(stdout(), Print(" ".repeat(space)));
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1137:13
[INFO] [stderr]      |
[INFO] [stderr] 1137 | /             queue!(stdout,
[INFO] [stderr] 1138 | |                 cursor::MoveTo(self.lp_width as u16, r as u16),
[INFO] [stderr] 1139 | |                 terminal::Clear(ClearType::UntilNewLine)
[INFO] [stderr] 1140 | |             );
[INFO] [stderr]      | |_____________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1768:53
[INFO] [stderr]      |
[INFO] [stderr] 1768 | ...                   queue!(stdout(), terminal::Clear(ClearType::All));
[INFO] [stderr]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1769:53
[INFO] [stderr]      |
[INFO] [stderr] 1769 | ...                   stdout().flush();
[INFO] [stderr]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1769 |                                                     let _ = stdout().flush();
[INFO] [stderr]      |                                                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1839:9
[INFO] [stderr]      |
[INFO] [stderr] 1839 | /         queue!(stdout(),
[INFO] [stderr] 1840 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stderr] 1841 | |             BColor(Color::Reset), FColor(Color::Reset), Print(line),
[INFO] [stderr] 1842 | |         );
[INFO] [stderr]      | |_________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1843:9
[INFO] [stderr]      |
[INFO] [stderr] 1843 | /         queue!(stdout(),
[INFO] [stderr] 1844 | |             cursor::MoveTo((self.lp_width + 1 + prefix.len() + x) as u16, y as u16),
[INFO] [stderr] 1845 | |         );
[INFO] [stderr]      | |_________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1847:9
[INFO] [stderr]      |
[INFO] [stderr] 1847 |         stdout().flush();
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1847 |         let _ = stdout().flush();
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1858:9
[INFO] [stderr]      |
[INFO] [stderr] 1858 | /         queue!(stdout(),
[INFO] [stderr] 1859 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stderr] 1860 | |             BColor(Color::Reset), FColor(Color::Reset), Print(" ".repeat(line.chars().count())),
[INFO] [stderr] 1861 | |         );
[INFO] [stderr]      | |_________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:1863:9
[INFO] [stderr]      |
[INFO] [stderr] 1863 |         stdout().flush();
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1863 |         let _ = stdout().flush();
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:2087:13
[INFO] [stderr]      |
[INFO] [stderr] 2087 | /             queue!(stdout(),
[INFO] [stderr] 2088 | |                 cursor::MoveTo(
[INFO] [stderr] 2089 | |                     (self.c + self.lp_width + self.ln_width + self.lns_width - 2) as u16,
[INFO] [stderr] 2090 | |                     (self.r - self.y + row + 1) as u16
[INFO] [stderr] ...    |
[INFO] [stderr] 2094 | |                 BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stderr] 2095 | |             );
[INFO] [stderr]      | |_____________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:2315:13
[INFO] [stderr]      |
[INFO] [stderr] 2315 | /             queue!(stdout(),
[INFO] [stderr] 2316 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 2) as u16, (row + fromy) as u16),
[INFO] [stderr] 2317 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),  BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stderr] 2318 | |             );
[INFO] [stderr]      | |_____________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:2323:9
[INFO] [stderr]      |
[INFO] [stderr] 2323 | /         queue!(stdout(),
[INFO] [stderr] 2324 | |             cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 2) as u16, (self.height-1) as u16),
[INFO] [stderr] 2325 | |             BColor(Color::Reset), FColor(Color::Reset), Print(status),
[INFO] [stderr] 2326 | |         );
[INFO] [stderr]      | |_________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:2405:13
[INFO] [stderr]      |
[INFO] [stderr] 2405 | /             queue!(stdout(),
[INFO] [stderr] 2406 | |                 cursor::MoveTo(
[INFO] [stderr] 2407 | |                     (self.c + self.lp_width + self.ln_width + self.lns_width - 2) as u16,
[INFO] [stderr] 2408 | |                     (self.r - self.y + row + 1) as u16
[INFO] [stderr] 2409 | |                 ),
[INFO] [stderr] 2410 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),
[INFO] [stderr] 2411 | |             );
[INFO] [stderr]      | |_____________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:2545:13
[INFO] [stderr]      |
[INFO] [stderr] 2545 | /             queue!(stdout(),
[INFO] [stderr] 2546 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 1) as u16, row  as u16),
[INFO] [stderr] 2547 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),  BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stderr] 2548 | |             );
[INFO] [stderr]      | |_____________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:2704:13
[INFO] [stderr]      |
[INFO] [stderr] 2704 | /             queue!(stdout(),
[INFO] [stderr] 2705 | |                 cursor::MoveTo((self.lp_width + self.ln_width + self.lns_width - 1) as u16, (row + fromy) as u16),
[INFO] [stderr] 2706 | |                 BColor(bgcolor), FColor(self.lncolor), Print(label),
[INFO] [stderr] 2707 | |                 terminal::Clear(ClearType::UntilNewLine), BColor(Color::Reset), FColor(Color::Reset),
[INFO] [stderr] 2708 | |             );
[INFO] [stderr]      | |_____________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/editor.rs:2716:9
[INFO] [stderr]      |
[INFO] [stderr] 2716 | /         queue!(stdout(),
[INFO] [stderr] 2717 | |             cursor::MoveTo((self.lp_width + 1) as u16, (self.height-1) as u16),
[INFO] [stderr] 2718 | |             BColor(Color::Reset), FColor(Color::Reset), Print(status),
[INFO] [stderr] 2719 | |         );
[INFO] [stderr]      | |_________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/lsp.rs:88:17
[INFO] [stderr]    |
[INFO] [stderr] 88 |                 stdin.write_all(header.as_bytes()).await;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 88 |                 let _ = stdin.write_all(header.as_bytes()).await;
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/lsp.rs:89:17
[INFO] [stderr]    |
[INFO] [stderr] 89 |                 stdin.write_all(m.as_bytes()).await;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 89 |                 let _ = stdin.write_all(m.as_bytes()).await;
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/lsp.rs:90:17
[INFO] [stderr]    |
[INFO] [stderr] 90 |                 stdin.flush().await;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 90 |                 let _ = stdin.flush().await;
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lsp.rs:120:17
[INFO] [stderr]     |
[INFO] [stderr] 120 |                 reader.read_exact(&mut content).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 120 |                 let _ = reader.read_exact(&mut content).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lsp.rs:134:29
[INFO] [stderr]     |
[INFO] [stderr] 134 | ...                   s.send(msg).await; // send to request channel
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 134 |                             let _ = s.send(msg).await; // send to request channel
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lsp.rs:146:41
[INFO] [stderr]     |
[INFO] [stderr] 146 | ...                   diagnostic_send.send(d.params).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 146 |                                         let _ = diagnostic_send.send(d.params).await;
[INFO] [stderr]     |                                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lsp.rs:406:5
[INFO] [stderr]     |
[INFO] [stderr] 406 |     lsp.start(lang, "rust-analyzer", None);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 406 |     let _ = lsp.start(lang, "rust-analyzer", None);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused implementer of `futures::Future` that must be used
[INFO] [stderr]    --> src/lsp.rs:412:5
[INFO] [stderr]     |
[INFO] [stderr] 412 |     lsp.init(dir);
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lsp.rs:469:13
[INFO] [stderr]     |
[INFO] [stderr] 469 |             stdin.write_all(m.as_bytes()).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 469 |             let _ = stdin.write_all(m.as_bytes()).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lsp.rs:487:9
[INFO] [stderr]     |
[INFO] [stderr] 487 |         send2_arc.send("hello\n".to_string()).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 487 |         let _ = send2_arc.send("hello\n".to_string()).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `isIncomplete` should have a snake case name
[INFO] [stderr]    --> src/lsp.rs:712:13
[INFO] [stderr]     |
[INFO] [stderr] 712 |         pub isIncomplete: Option<bool>,
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `is_incomplete`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `sortText` should have a snake case name
[INFO] [stderr]    --> src/lsp.rs:722:13
[INFO] [stderr]     |
[INFO] [stderr] 722 |         pub sortText: Option<String>,
[INFO] [stderr]     |             ^^^^^^^^ help: convert the identifier to snake case: `sort_text`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `insertText` should have a snake case name
[INFO] [stderr]    --> src/lsp.rs:723:13
[INFO] [stderr]     |
[INFO] [stderr] 723 |         pub insertText: Option<String>,
[INFO] [stderr]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `insert_text`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `filterText` should have a snake case name
[INFO] [stderr]    --> src/lsp.rs:724:13
[INFO] [stderr]     |
[INFO] [stderr] 724 |         pub filterText: Option<String>,
[INFO] [stderr]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `filter_text`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `insertTextFormat` should have a snake case name
[INFO] [stderr]    --> src/lsp.rs:725:13
[INFO] [stderr]     |
[INFO] [stderr] 725 |         pub insertTextFormat: Option<f64>,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `insert_text_format`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `textEdit` should have a snake case name
[INFO] [stderr]    --> src/lsp.rs:726:13
[INFO] [stderr]     |
[INFO] [stderr] 726 |         pub textEdit: Option<TextEdit>,
[INFO] [stderr]     |             ^^^^^^^^ help: convert the identifier to snake case: `text_edit`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `newText` should have a snake case name
[INFO] [stderr]    --> src/lsp.rs:735:13
[INFO] [stderr]     |
[INFO] [stderr] 735 |         pub newText: String,
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `new_text`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_async_listFiles` should have a snake case name
[INFO] [stderr]    --> src/search.rs:326:14
[INFO] [stderr]     |
[INFO] [stderr] 326 |     async fn test_async_listFiles() -> io::Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_async_list_files`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/search.rs:387:13
[INFO] [stderr]     |
[INFO] [stderr] 387 |             tx.send("sending from first handle").await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 387 |             let _ = tx.send("sending from first handle").await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/search.rs:391:13
[INFO] [stderr]     |
[INFO] [stderr] 391 |             tx2.send("sending from second handle").await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 391 |             let _ = tx2.send("sending from second handle").await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/search.rs:458:17
[INFO] [stderr]     |
[INFO] [stderr] 458 |                 t.await;
[INFO] [stderr]     |                 ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 458 |                 let _ = t.await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/tree.rs:97:21
[INFO] [stderr]    |
[INFO] [stderr] 97 |                     child.expand();
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 97 |                     let _ = child.expand();
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:179:9
[INFO] [stderr]     |
[INFO] [stderr] 179 |         root.expand();
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 179 |         let _ = root.expand();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:228:9
[INFO] [stderr]     |
[INFO] [stderr] 228 |         root.expand();
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let _ = root.expand();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:234:9
[INFO] [stderr]     |
[INFO] [stderr] 234 |         root.expand();
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 234 |         let _ = root.expand();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:255:9
[INFO] [stderr]     |
[INFO] [stderr] 255 |         queue!(stdout, cursor::Hide);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:260:13
[INFO] [stderr]     |
[INFO] [stderr] 260 |             queue!(stdout, cursor::MoveTo(0, i as u16));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:273:17
[INFO] [stderr]     |
[INFO] [stderr] 273 |                 queue!(stdout, Print(' '));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:278:17
[INFO] [stderr]     |
[INFO] [stderr] 278 |                 queue!(stdout, Print(' '));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:283:17
[INFO] [stderr]     |
[INFO] [stderr] 283 |                 queue!(stdout, FColor(color), Print(ch));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:289:21
[INFO] [stderr]     |
[INFO] [stderr] 289 |                     queue!(stdout, Print(' '));
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:292:13
[INFO] [stderr]     |
[INFO] [stderr] 292 |             queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:298:13
[INFO] [stderr]     |
[INFO] [stderr] 298 |             queue!(stdout, cursor::MoveTo(0, count as u16));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:299:13
[INFO] [stderr]     |
[INFO] [stderr] 299 |             queue!(stdout, Print(" ".repeat(self.width-1)));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:300:13
[INFO] [stderr]     |
[INFO] [stderr] 300 |             queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:316:9
[INFO] [stderr]     |
[INFO] [stderr] 316 |         queue!(stdout,cursor::Show, cursor::MoveTo(0, (self.height -1) as u16));
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:317:9
[INFO] [stderr]     |
[INFO] [stderr] 317 |         queue!(stdout, Print(&search));
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:318:9
[INFO] [stderr]     |
[INFO] [stderr] 318 |         queue!(stdout, Print(" ".repeat(self.width-search.len()-1)));
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:319:9
[INFO] [stderr]     |
[INFO] [stderr] 319 |         queue!(stdout, FColor(Color::DarkGrey), Print('│'));
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:320:9
[INFO] [stderr]     |
[INFO] [stderr] 320 |         queue!(stdout, cursor::MoveTo((prefix.len() + self.search.index) as u16, (self.height -1) as u16));
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: this warning originates in the macro `queue` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:394:13
[INFO] [stderr]     |
[INFO] [stderr] 394 |             node.expand();
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 394 |             let _ = node.expand();
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:412:13
[INFO] [stderr]     |
[INFO] [stderr] 412 |             node.expand();
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 412 |             let _ = node.expand();
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:429:13
[INFO] [stderr]     |
[INFO] [stderr] 429 |             node.expand();
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 429 |             let _ = node.expand();
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/tree.rs:435:21
[INFO] [stderr]     |
[INFO] [stderr] 435 |                     child.expand();
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 435 |                     let _ = child.expand();
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `red` (bin "red" test) generated 177 warnings (run `cargo fix --bin "red" --tests` to apply 52 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/red-099532cd20d5aaeb)
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test code::code_move_line_test::test_code_move_line_up ... ok
[INFO] [stdout] test code::code_move_line_test::test_code_move_line_down ... ok
[INFO] [stdout] test code::code_rope_search_iterator_simple_tests::test_search_iterator ... ok
[INFO] [stdout] test code::code_move_line_test::test_code_move_line_down_last_line ... ok
[INFO] [stdout] test code::code_rope_search_iterator_tests::test_early_termination_search ... ok
[INFO] [stdout] test code::code_rope_search_tests::test_search ... ok
[INFO] [stdout] test lsp::tests::test_deserialization ... ok
[INFO] [stdout] test search::mpsc_test::insert_russian_character_tests::test_insert_russian_character_to_rope ... ok
[INFO] [stdout] test code::code_undo_tests::test_code_undo ... ok
[INFO] [stdout] test search::search::file_search_tests::test_file_search ... ok
[INFO] [stdout] test search::tokio_tests::test_async_search ... ok
[INFO] [stdout] test search::tokio_tests::test_channels ... ok
[INFO] [stdout] test search::tokio_tests::test_async ... ok
[INFO] [stdout] test tests::color_test::test_colored_output ... ok
[INFO] [stdout] test tests::color_test::test_strfmt ... ok
[INFO] [stdout] test tests::tests_selection::test_is_selected_when_active_and_inside_selection ... ok
[INFO] [stdout] test tests::tests_selection::test_is_selected_when_active_and_outside_selection ... ok
[INFO] [stdout] test tests::tests_selection::test_is_selected_when_inactive ... ok
[INFO] [stdout] test search::search::test_find_substring_on_dir ... ok
[INFO] [stdout] test tests::tests_text::test_new_text_buffer_is_empty ... ok
[INFO] [stdout] test tests::tests_text::test_insert_char ... ok
[INFO] [stdout] test tests::tests_text::test_new_text_buffer_is_zero_len ... ok
[INFO] [stdout] test tests::tests_text::test_remove_char ... ok
[INFO] [stdout] test tests::tokio_test::test_process ... ok
[INFO] [stdout] test tests::tests_tree_sitter::test_tree_sitter_query ... ok
[INFO] [stdout] test tree::tree_tests::test_expand_search ... ok
[INFO] [stdout] test tree::tree_tests::test_iter ... ok
[INFO] [stdout] test tree::tree_tests::test_list_files_and_directories ... ok
[INFO] [stdout] test tree::tree_tests::test_load ... ok
[INFO] [stdout] test code::code_rope_search_iterator_tests::test_early_termination_search_bench ... ok
[INFO] [stdout] test search::tokio_tests::test_async_listFiles ... ok
[INFO] [stdout] test code::code_indentation_tests::test_code_indentation_level ... FAILED
[INFO] [stdout] test code::code_indentation_tests::test_code_indentation_level_2 ... FAILED
[INFO] [stdout] test code::code_indentation_tests::test_code_indentation_only ... FAILED
[INFO] [stdout] test config::congif_tests::test_read_config ... FAILED
[INFO] [stdout] test search::mpsc_test::insert_russian_character_tests::test_insert_russian_character ... FAILED
[INFO] [stdout] test code::code_rope_search_tests::test_rope_search_bench ... ok
[INFO] [stdout] test search::tokio_tests::test_tokio_spawn_tasks ... ok
[INFO] [stdout] test process::process_tests::test_lines_range ... FAILED
[INFO] [stdout] test lsp::main ... ok
[INFO] [stdout] test lsp::test_lsp ... FAILED
[INFO] [stdout] test code::code_rope_search_iterator_tests::test_full_search_bench has been running for over 60 seconds
[INFO] [stdout] test search::mpsc_test::test_async has been running for over 60 seconds
[INFO] [stdout] test code::code_rope_search_iterator_tests::test_full_search_bench ... ok
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "a39e378a29d57ab19d8230bcd994151d5ce1ca943f1abf1b1aa8256474048769", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a39e378a29d57ab19d8230bcd994151d5ce1ca943f1abf1b1aa8256474048769", kill_on_drop: false }`
[INFO] [stdout] a39e378a29d57ab19d8230bcd994151d5ce1ca943f1abf1b1aa8256474048769
