[INFO] cloning repository https://github.com/ThymeKeeper/thyme [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ThymeKeeper/thyme" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThymeKeeper%2Fthyme", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThymeKeeper%2Fthyme'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] abc63b6ac08d449c631361967e16035c15753472 [INFO] testing ThymeKeeper/thyme against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThymeKeeper%2Fthyme" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ThymeKeeper/thyme [INFO] finished tweaking git repo https://github.com/ThymeKeeper/thyme [INFO] tweaked toml for git repo https://github.com/ThymeKeeper/thyme written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ThymeKeeper/thyme on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ThymeKeeper/thyme 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml v0.8.23 [INFO] [stderr] Downloaded indoc v2.0.6 [INFO] [stderr] Downloaded str_indices v0.4.4 [INFO] [stderr] Downloaded serde_spanned v0.6.9 [INFO] [stderr] Downloaded objc2-io-surface v0.3.1 [INFO] [stderr] Downloaded error-code v3.3.2 [INFO] [stderr] Downloaded fdeflate v0.3.7 [INFO] [stderr] Downloaded arboard v3.6.0 [INFO] [stderr] Downloaded objc2-encode v4.1.0 [INFO] [stderr] Downloaded anyhow v1.0.98 [INFO] [stderr] Downloaded objc2-core-graphics v0.3.1 [INFO] [stderr] Downloaded weezl v0.1.10 [INFO] [stderr] Downloaded dispatch2 v0.3.0 [INFO] [stderr] Downloaded png v0.17.16 [INFO] [stderr] Downloaded ropey v1.6.1 [INFO] [stderr] Downloaded objc2-core-foundation v0.3.1 [INFO] [stderr] Downloaded objc2 v0.6.1 [INFO] [stderr] Downloaded objc2-foundation v0.3.1 [INFO] [stderr] Downloaded ratatui v0.28.1 [INFO] [stderr] Downloaded objc2-app-kit v0.3.1 [INFO] [stderr] Downloaded jpeg-decoder v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f264eeb28e9c71e15f1625b871ba23636a495d31cdefbdaf443c7d6dc63abd85 [INFO] running `Command { std: "docker" "start" "-a" "f264eeb28e9c71e15f1625b871ba23636a495d31cdefbdaf443c7d6dc63abd85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f264eeb28e9c71e15f1625b871ba23636a495d31cdefbdaf443c7d6dc63abd85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f264eeb28e9c71e15f1625b871ba23636a495d31cdefbdaf443c7d6dc63abd85", kill_on_drop: false }` [INFO] [stdout] f264eeb28e9c71e15f1625b871ba23636a495d31cdefbdaf443c7d6dc63abd85 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 81a8498362662395279b81aff425e20d073733943619e688e1a8dace68eae09c [INFO] running `Command { std: "docker" "start" "-a" "81a8498362662395279b81aff425e20d073733943619e688e1a8dace68eae09c", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling rustversion v1.0.21 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling simd-adler32 v0.3.7 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling slab v0.4.10 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling x11rb-protocol v0.13.1 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling byteorder-lite v0.1.0 [INFO] [stderr] Compiling bytemuck v1.23.1 [INFO] [stderr] Compiling winnow v0.7.11 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling str_indices v0.4.4 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Compiling castaway v0.2.3 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling ropey v1.6.1 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling png v0.17.16 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling image v0.25.6 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling x11rb v0.13.1 [INFO] [stderr] Compiling tokio v1.45.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling instability v0.3.7 [INFO] [stderr] Compiling arboard v3.6.0 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling ratatui v0.28.1 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling thyme v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `char_display_width` and `str_display_width` [INFO] [stdout] --> src/buffer.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/cursor.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column, visual_column_to_char_pos, substring_visual_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/text_utils.rs:5:48 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unicode_utils::{char_display_width, str_display_width}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `segment` [INFO] [stdout] --> src/cursor.rs:216:18 [INFO] [stdout] | [INFO] [stdout] 216 | for (i, (segment, start_pos)) in wrapped_segments.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tag_start` [INFO] [stdout] --> src/syntax.rs:1203:33 [INFO] [stdout] | [INFO] [stdout] 1203 | ... let tag_start = i; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1203 | let _tag_start = i; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 1203 - let tag_start = i; [INFO] [stdout] 1203 + let buffer::Buffer::dedent_lines::INDENT_SIZE = i; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_dot` is never read [INFO] [stdout] --> src/syntax.rs:1864:17 [INFO] [stdout] | [INFO] [stdout] 1864 | has_dot = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_exp` is never read [INFO] [stdout] --> src/syntax.rs:1879:17 [INFO] [stdout] | [INFO] [stdout] 1879 | has_exp = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/buffer.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl LineEnding { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 24 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT_SIZE` is never used [INFO] [stdout] --> src/buffer.rs:1595:11 [INFO] [stdout] | [INFO] [stdout] 1595 | const INDENT_SIZE: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_visual_column_in_segment` is never used [INFO] [stdout] --> src/cursor.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 101 | impl CursorMovement { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 104 | fn get_visual_column_in_segment( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `char_display_width` and `str_display_width` [INFO] [stdout] --> src/buffer.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/cursor.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column, visual_column_to_char_pos, substring_visual_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sender` [INFO] [stdout] --> src/events.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::mpsc::{self, Receiver, Sender, TryRecvError}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/text_utils.rs:5:48 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unicode_utils::{char_display_width, str_display_width}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `segment` [INFO] [stdout] --> src/cursor.rs:216:18 [INFO] [stdout] | [INFO] [stdout] 216 | for (i, (segment, start_pos)) in wrapped_segments.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor_line` [INFO] [stdout] --> src/editor.rs:823:37 [INFO] [stdout] | [INFO] [stdout] 823 | let (line_text, cursor_column, cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 823 | let (line_text, cursor_column, _cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 823 - let (line_text, cursor_column, cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] 823 + let (line_text, cursor_column, buffer::Buffer::dedent_lines::INDENT_SIZE) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `virtual_indent_chars` is assigned to, but never used [INFO] [stdout] --> src/editor.rs:899:22 [INFO] [stdout] | [INFO] [stdout] 899 | let mut virtual_indent_chars = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_virtual_indent_chars` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stdout] --> src/editor.rs:1134:29 [INFO] [stdout] | [INFO] [stdout] 1134 | let mut indent_char_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_indent_char_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stdout] --> src/editor.rs:1216:37 [INFO] [stdout] | [INFO] [stdout] 1216 | ... let mut indent_char_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_indent_char_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stdout] --> src/editor.rs:1317:25 [INFO] [stdout] | [INFO] [stdout] 1317 | let mut indent_char_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_indent_char_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor_column` [INFO] [stdout] --> src/editor.rs:1916:14 [INFO] [stdout] | [INFO] [stdout] 1916 | let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1916 | let (_cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 1916 - let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] 1916 + let (buffer::Buffer::dedent_lines::INDENT_SIZE, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line_text` [INFO] [stdout] --> src/editor.rs:1916:51 [INFO] [stdout] | [INFO] [stdout] 1916 | let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tag_start` [INFO] [stdout] --> src/syntax.rs:1203:33 [INFO] [stdout] | [INFO] [stdout] 1203 | ... let tag_start = i; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1203 | let _tag_start = i; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 1203 - let tag_start = i; [INFO] [stdout] 1203 + let buffer::Buffer::dedent_lines::INDENT_SIZE = i; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_dot` is never read [INFO] [stdout] --> src/syntax.rs:1864:17 [INFO] [stdout] | [INFO] [stdout] 1864 | has_dot = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_exp` is never read [INFO] [stdout] --> src/syntax.rs:1879:17 [INFO] [stdout] | [INFO] [stdout] 1879 | has_exp = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ui.rs:188:71 [INFO] [stdout] | [INFO] [stdout] 188 | wrapped_lines.iter().zip(lines.into_iter()).map(|(wl, mut line)| { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/buffer.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl LineEnding { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 24 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `selection_before` and `selection_after` are never read [INFO] [stdout] --> src/buffer.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct UndoState { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 63 | pub action: UndoAction, [INFO] [stdout] 64 | pub selection_before: Option<(Position, Position)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 65 | pub selection_after: Option<(Position, Position)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UndoState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `force_syntax_update` is never used [INFO] [stdout] --> src/buffer.rs:1053:12 [INFO] [stdout] | [INFO] [stdout] 87 | impl Buffer { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1053 | pub fn force_syntax_update(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT_SIZE` is never used [INFO] [stdout] --> src/buffer.rs:1595:11 [INFO] [stdout] | [INFO] [stdout] 1595 | const INDENT_SIZE: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_preferred_visual_column`, `reset_preferred_column`, and `move_to_position` are never used [INFO] [stdout] --> src/cursor.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Cursor { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn update_preferred_visual_column(&mut self, visual_column: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn reset_preferred_column(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn move_to_position(&mut self, new_line: usize, new_column: usize, extend_selection: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CursorMovement` is never constructed [INFO] [stdout] --> src/cursor.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct CursorMovement; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/cursor.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 101 | impl CursorMovement { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 104 | fn get_visual_column_in_segment( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn get_char_pos_from_visual_column( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn update_preferred_visual_column_with_width( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn move_cursor_up_visual( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn move_cursor_down_visual( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn move_cursor_left(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 505 | pub fn move_cursor_right(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 521 | pub fn move_cursor_up_basic(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 536 | pub fn move_cursor_down_basic(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 551 | pub fn move_cursor_home(cursor: &mut Cursor) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 556 | pub fn move_cursor_end(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_line_text` is never used [INFO] [stdout] --> src/cursor.rs:567:4 [INFO] [stdout] | [INFO] [stdout] 567 | fn get_line_text(rope: &Rope, line: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `insert_tab`, `logical_to_visual_line`, `visual_to_logical_line`, `has_unsaved_changes`, and `mouse_to_wrapped_position` are never used [INFO] [stdout] --> src/editor.rs:1449:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl Editor { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1449 | pub fn insert_tab(&mut self, content_width: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1731 | fn logical_to_visual_line(&self, logical_line: usize, buffer: &crate::buffer::Buffer, content_width: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1751 | fn visual_to_logical_line(&self, target_visual_line: usize, buffer: &crate::buffer::Buffer, content_width: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1991 | pub fn has_unsaved_changes(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2314 | fn mouse_to_wrapped_position(&self, line: usize, visual_x: usize, content_width: usize) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Parameter` and `Namespace` are never constructed [INFO] [stdout] --> src/syntax.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | Parameter, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | Constant, [INFO] [stdout] 22 | Namespace, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_range`, `mark_dirty`, and `force_update` are never used [INFO] [stdout] --> src/syntax.rs:583:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl SyntaxHighlighter { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn update_range(&mut self, rope: &Rope, start_line: usize, end_line: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2182 | pub fn mark_dirty(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2187 | pub fn force_update(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `line_end_col` is never read [INFO] [stdout] --> src/ui.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 22 | struct WrappedLine { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | line_end_col: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WrappedLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ui.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Ui { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get_content_width(&self, config: &Config) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 811 | fn logical_to_visual_line(&self, buffer: &Buffer, logical_line: isize, content_width: usize) -> isize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1370 | fn get_text_style_with_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1394 | fn apply_selection_style( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1738 | fn text_overlaps_with_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1781 | fn calculate_total_visual_lines(&self, buffer: &Buffer, content_width: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1800 | fn calculate_cursor_visual_line(&self, buffer: &Buffer, content_width: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1897 | fn parse_crossterm_color(&self, color_str: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `byte_pos_to_column` is never used [INFO] [stdout] --> src/unicode_utils.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn byte_pos_to_column(text: &str, byte_pos: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `column_to_byte_pos` is never used [INFO] [stdout] --> src/unicode_utils.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn column_to_byte_pos(text: &str, target_col: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chars_display_width` is never used [INFO] [stdout] --> src/unicode_utils.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn chars_display_width(chars: &[char]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_char_at_visual_column` is never used [INFO] [stdout] --> src/unicode_utils.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn find_char_at_visual_column(chars: &[char], target_col: usize) -> (usize, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.32s [INFO] running `Command { std: "docker" "inspect" "81a8498362662395279b81aff425e20d073733943619e688e1a8dace68eae09c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81a8498362662395279b81aff425e20d073733943619e688e1a8dace68eae09c", kill_on_drop: false }` [INFO] [stdout] 81a8498362662395279b81aff425e20d073733943619e688e1a8dace68eae09c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1a5517fd0b01e95e1b7e2576899775096441e527c8be825a5557c831096a80f7 [INFO] running `Command { std: "docker" "start" "-a" "1a5517fd0b01e95e1b7e2576899775096441e527c8be825a5557c831096a80f7", kill_on_drop: false }` [INFO] [stderr] Compiling thyme v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `char_display_width` and `str_display_width` [INFO] [stdout] --> src/buffer.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/cursor.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column, visual_column_to_char_pos, substring_visual_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/text_utils.rs:5:48 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unicode_utils::{char_display_width, str_display_width}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `segment` [INFO] [stdout] --> src/cursor.rs:216:18 [INFO] [stdout] | [INFO] [stdout] 216 | for (i, (segment, start_pos)) in wrapped_segments.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tag_start` [INFO] [stdout] --> src/syntax.rs:1203:33 [INFO] [stdout] | [INFO] [stdout] 1203 | ... let tag_start = i; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1203 | let _tag_start = i; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 1203 - let tag_start = i; [INFO] [stdout] 1203 + let buffer::Buffer::dedent_lines::INDENT_SIZE = i; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_dot` is never read [INFO] [stdout] --> src/syntax.rs:1864:17 [INFO] [stdout] | [INFO] [stdout] 1864 | has_dot = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_exp` is never read [INFO] [stdout] --> src/syntax.rs:1879:17 [INFO] [stdout] | [INFO] [stdout] 1879 | has_exp = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/buffer.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl LineEnding { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 24 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT_SIZE` is never used [INFO] [stdout] --> src/buffer.rs:1595:11 [INFO] [stdout] | [INFO] [stdout] 1595 | const INDENT_SIZE: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_visual_column_in_segment` is never used [INFO] [stdout] --> src/cursor.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 101 | impl CursorMovement { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 104 | fn get_visual_column_in_segment( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `char_display_width` and `str_display_width` [INFO] [stdout] --> src/buffer.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/cursor.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column, visual_column_to_char_pos, substring_visual_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sender` [INFO] [stdout] --> src/events.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::mpsc::{self, Receiver, Sender, TryRecvError}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/text_utils.rs:5:48 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unicode_utils::{char_display_width, str_display_width}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `char_display_width` and `str_display_width` [INFO] [stdout] --> src/buffer.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/cursor.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column, visual_column_to_char_pos, substring_visual_... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_display_width` [INFO] [stdout] --> src/text_utils.rs:5:48 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unicode_utils::{char_display_width, str_display_width}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `segment` [INFO] [stdout] --> src/cursor.rs:216:18 [INFO] [stdout] | [INFO] [stdout] 216 | for (i, (segment, start_pos)) in wrapped_segments.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tag_start` [INFO] [stdout] --> src/syntax.rs:1203:33 [INFO] [stdout] | [INFO] [stdout] 1203 | ... let tag_start = i; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1203 | let _tag_start = i; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 1203 - let tag_start = i; [INFO] [stdout] 1203 + let buffer::Buffer::dedent_lines::INDENT_SIZE = i; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_dot` is never read [INFO] [stdout] --> src/syntax.rs:1864:17 [INFO] [stdout] | [INFO] [stdout] 1864 | has_dot = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_exp` is never read [INFO] [stdout] --> src/syntax.rs:1879:17 [INFO] [stdout] | [INFO] [stdout] 1879 | has_exp = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/buffer.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl LineEnding { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 24 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT_SIZE` is never used [INFO] [stdout] --> src/buffer.rs:1595:11 [INFO] [stdout] | [INFO] [stdout] 1595 | const INDENT_SIZE: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_visual_column_in_segment` is never used [INFO] [stdout] --> src/cursor.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 101 | impl CursorMovement { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 104 | fn get_visual_column_in_segment( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `segment` [INFO] [stdout] --> src/cursor.rs:216:18 [INFO] [stdout] | [INFO] [stdout] 216 | for (i, (segment, start_pos)) in wrapped_segments.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor_line` [INFO] [stdout] --> src/editor.rs:823:37 [INFO] [stdout] | [INFO] [stdout] 823 | let (line_text, cursor_column, cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 823 | let (line_text, cursor_column, _cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 823 - let (line_text, cursor_column, cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] 823 + let (line_text, cursor_column, buffer::Buffer::dedent_lines::INDENT_SIZE) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `virtual_indent_chars` is assigned to, but never used [INFO] [stdout] --> src/editor.rs:899:22 [INFO] [stdout] | [INFO] [stdout] 899 | let mut virtual_indent_chars = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_virtual_indent_chars` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stdout] --> src/editor.rs:1134:29 [INFO] [stdout] | [INFO] [stdout] 1134 | let mut indent_char_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_indent_char_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stdout] --> src/editor.rs:1216:37 [INFO] [stdout] | [INFO] [stdout] 1216 | ... let mut indent_char_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_indent_char_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stdout] --> src/editor.rs:1317:25 [INFO] [stdout] | [INFO] [stdout] 1317 | let mut indent_char_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_indent_char_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor_column` [INFO] [stdout] --> src/editor.rs:1916:14 [INFO] [stdout] | [INFO] [stdout] 1916 | let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1916 | let (_cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 1916 - let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] 1916 + let (buffer::Buffer::dedent_lines::INDENT_SIZE, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line_text` [INFO] [stdout] --> src/editor.rs:1916:51 [INFO] [stdout] | [INFO] [stdout] 1916 | let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tag_start` [INFO] [stdout] --> src/syntax.rs:1203:33 [INFO] [stdout] | [INFO] [stdout] 1203 | ... let tag_start = i; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1203 | let _tag_start = i; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stdout] | [INFO] [stdout] 1203 - let tag_start = i; [INFO] [stdout] 1203 + let buffer::Buffer::dedent_lines::INDENT_SIZE = i; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_dot` is never read [INFO] [stdout] --> src/syntax.rs:1864:17 [INFO] [stdout] | [INFO] [stdout] 1864 | has_dot = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `has_exp` is never read [INFO] [stdout] --> src/syntax.rs:1879:17 [INFO] [stdout] | [INFO] [stdout] 1879 | has_exp = true; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ui.rs:188:71 [INFO] [stdout] | [INFO] [stdout] 188 | wrapped_lines.iter().zip(lines.into_iter()).map(|(wl, mut line)| { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/buffer.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl LineEnding { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 24 | fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `selection_before` and `selection_after` are never read [INFO] [stdout] --> src/buffer.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct UndoState { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 63 | pub action: UndoAction, [INFO] [stdout] 64 | pub selection_before: Option<(Position, Position)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 65 | pub selection_after: Option<(Position, Position)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UndoState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `force_syntax_update` is never used [INFO] [stdout] --> src/buffer.rs:1053:12 [INFO] [stdout] | [INFO] [stdout] 87 | impl Buffer { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1053 | pub fn force_syntax_update(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT_SIZE` is never used [INFO] [stdout] --> src/buffer.rs:1595:11 [INFO] [stdout] | [INFO] [stdout] 1595 | const INDENT_SIZE: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_preferred_visual_column`, `reset_preferred_column`, and `move_to_position` are never used [INFO] [stdout] --> src/cursor.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Cursor { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn update_preferred_visual_column(&mut self, visual_column: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn reset_preferred_column(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn move_to_position(&mut self, new_line: usize, new_column: usize, extend_selection: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CursorMovement` is never constructed [INFO] [stdout] --> src/cursor.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct CursorMovement; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/cursor.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 101 | impl CursorMovement { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 104 | fn get_visual_column_in_segment( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn get_char_pos_from_visual_column( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn update_preferred_visual_column_with_width( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn move_cursor_up_visual( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn move_cursor_down_visual( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn move_cursor_left(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 505 | pub fn move_cursor_right(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 521 | pub fn move_cursor_up_basic(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 536 | pub fn move_cursor_down_basic(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 551 | pub fn move_cursor_home(cursor: &mut Cursor) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 556 | pub fn move_cursor_end(cursor: &mut Cursor, rope: &Rope) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_line_text` is never used [INFO] [stdout] --> src/cursor.rs:567:4 [INFO] [stdout] | [INFO] [stdout] 567 | fn get_line_text(rope: &Rope, line: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `insert_tab`, `logical_to_visual_line`, `visual_to_logical_line`, `has_unsaved_changes`, and `mouse_to_wrapped_position` are never used [INFO] [stdout] --> src/editor.rs:1449:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl Editor { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1449 | pub fn insert_tab(&mut self, content_width: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1731 | fn logical_to_visual_line(&self, logical_line: usize, buffer: &crate::buffer::Buffer, content_width: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1751 | fn visual_to_logical_line(&self, target_visual_line: usize, buffer: &crate::buffer::Buffer, content_width: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1991 | pub fn has_unsaved_changes(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2314 | fn mouse_to_wrapped_position(&self, line: usize, visual_x: usize, content_width: usize) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Parameter` and `Namespace` are never constructed [INFO] [stdout] --> src/syntax.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | Parameter, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | Constant, [INFO] [stdout] 22 | Namespace, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_range`, `mark_dirty`, and `force_update` are never used [INFO] [stdout] --> src/syntax.rs:583:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl SyntaxHighlighter { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn update_range(&mut self, rope: &Rope, start_line: usize, end_line: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2182 | pub fn mark_dirty(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2187 | pub fn force_update(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `line_end_col` is never read [INFO] [stdout] --> src/ui.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 22 | struct WrappedLine { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | line_end_col: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WrappedLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ui.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Ui { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get_content_width(&self, config: &Config) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 811 | fn logical_to_visual_line(&self, buffer: &Buffer, logical_line: isize, content_width: usize) -> isize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1370 | fn get_text_style_with_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1394 | fn apply_selection_style( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1738 | fn text_overlaps_with_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1781 | fn calculate_total_visual_lines(&self, buffer: &Buffer, content_width: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1800 | fn calculate_cursor_visual_line(&self, buffer: &Buffer, content_width: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1897 | fn parse_crossterm_color(&self, color_str: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `byte_pos_to_column` is never used [INFO] [stdout] --> src/unicode_utils.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn byte_pos_to_column(text: &str, byte_pos: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `column_to_byte_pos` is never used [INFO] [stdout] --> src/unicode_utils.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn column_to_byte_pos(text: &str, target_col: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chars_display_width` is never used [INFO] [stdout] --> src/unicode_utils.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn chars_display_width(chars: &[char]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_char_at_visual_column` is never used [INFO] [stdout] --> src/unicode_utils.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn find_char_at_visual_column(chars: &[char], target_col: usize) -> (usize, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.31s [INFO] running `Command { std: "docker" "inspect" "1a5517fd0b01e95e1b7e2576899775096441e527c8be825a5557c831096a80f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a5517fd0b01e95e1b7e2576899775096441e527c8be825a5557c831096a80f7", kill_on_drop: false }` [INFO] [stdout] 1a5517fd0b01e95e1b7e2576899775096441e527c8be825a5557c831096a80f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 109764b6b52efb0ecddca328a79a178b3f006f16cc37c44b8b022c745d674ff3 [INFO] running `Command { std: "docker" "start" "-a" "109764b6b52efb0ecddca328a79a178b3f006f16cc37c44b8b022c745d674ff3", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `char_display_width` and `str_display_width` [INFO] [stderr] --> src/buffer.rs:10:21 [INFO] [stderr] | [INFO] [stderr] 10 | unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `str_display_width` [INFO] [stderr] --> src/cursor.rs:6:48 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::unicode_utils::{char_display_width, str_display_width, char_pos_to_visual_column, visual_column_to_char_pos, substring_visual_... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `str_display_width` [INFO] [stderr] --> src/text_utils.rs:5:48 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::unicode_utils::{char_display_width, str_display_width}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `segment` [INFO] [stderr] --> src/cursor.rs:216:18 [INFO] [stderr] | [INFO] [stderr] 216 | for (i, (segment, start_pos)) in wrapped_segments.iter().enumerate() { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tag_start` [INFO] [stderr] --> src/syntax.rs:1203:33 [INFO] [stderr] | [INFO] [stderr] 1203 | ... let tag_start = i; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 1203 | let _tag_start = i; [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stderr] | [INFO] [stderr] 1203 - let tag_start = i; [INFO] [stderr] 1203 + let buffer::Buffer::dedent_lines::INDENT_SIZE = i; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: value assigned to `has_dot` is never read [INFO] [stderr] --> src/syntax.rs:1864:17 [INFO] [stderr] | [INFO] [stderr] 1864 | has_dot = true; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `has_exp` is never read [INFO] [stderr] --> src/syntax.rs:1879:17 [INFO] [stderr] | [INFO] [stderr] 1879 | has_exp = true; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: method `as_str` is never used [INFO] [stderr] --> src/buffer.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 23 | impl LineEnding { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] 24 | fn as_str(&self) -> &'static str { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `INDENT_SIZE` is never used [INFO] [stderr] --> src/buffer.rs:1595:11 [INFO] [stderr] | [INFO] [stderr] 1595 | const INDENT_SIZE: usize = 4; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `get_visual_column_in_segment` is never used [INFO] [stderr] --> src/cursor.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 101 | impl CursorMovement { [INFO] [stderr] | ------------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 104 | fn get_visual_column_in_segment( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `thyme` (lib) generated 10 warnings (run `cargo fix --lib -p thyme` to apply 4 suggestions) [INFO] [stderr] warning: `thyme` (lib test) generated 10 warnings (10 duplicates) [INFO] [stderr] warning: unused import: `Sender` [INFO] [stderr] --> src/events.rs:5:39 [INFO] [stderr] | [INFO] [stderr] 5 | use std::sync::mpsc::{self, Receiver, Sender, TryRecvError}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cursor_line` [INFO] [stderr] --> src/editor.rs:823:37 [INFO] [stderr] | [INFO] [stderr] 823 | let (line_text, cursor_column, cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 823 | let (line_text, cursor_column, _cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stderr] | [INFO] [stderr] 823 - let (line_text, cursor_column, cursor_line) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] 823 + let (line_text, cursor_column, buffer::Buffer::dedent_lines::INDENT_SIZE) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable `virtual_indent_chars` is assigned to, but never used [INFO] [stderr] --> src/editor.rs:899:22 [INFO] [stderr] | [INFO] [stderr] 899 | let mut virtual_indent_chars = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_virtual_indent_chars` instead [INFO] [stderr] [INFO] [stderr] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stderr] --> src/editor.rs:1134:29 [INFO] [stderr] | [INFO] [stderr] 1134 | let mut indent_char_count = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_indent_char_count` instead [INFO] [stderr] [INFO] [stderr] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stderr] --> src/editor.rs:1216:37 [INFO] [stderr] | [INFO] [stderr] 1216 | ... let mut indent_char_count = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_indent_char_count` instead [INFO] [stderr] [INFO] [stderr] warning: variable `indent_char_count` is assigned to, but never used [INFO] [stderr] --> src/editor.rs:1317:25 [INFO] [stderr] | [INFO] [stderr] 1317 | let mut indent_char_count = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_indent_char_count` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cursor_column` [INFO] [stderr] --> src/editor.rs:1916:14 [INFO] [stderr] | [INFO] [stderr] 1916 | let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 1916 | let (_cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `INDENT_SIZE` [INFO] [stderr] | [INFO] [stderr] 1916 - let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] 1916 + let (buffer::Buffer::dedent_lines::INDENT_SIZE, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `line_text` [INFO] [stderr] --> src/editor.rs:1916:51 [INFO] [stderr] | [INFO] [stderr] 1916 | let (cursor_column, cursor_visual_column, line_text) = if let Some(buffer) = self.current_buffer() { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_text` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ui.rs:188:71 [INFO] [stderr] | [INFO] [stderr] 188 | wrapped_lines.iter().zip(lines.into_iter()).map(|(wl, mut line)| { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `selection_before` and `selection_after` are never read [INFO] [stderr] --> src/buffer.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 62 | pub struct UndoState { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 63 | pub action: UndoAction, [INFO] [stderr] 64 | pub selection_before: Option<(Position, Position)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 65 | pub selection_after: Option<(Position, Position)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `UndoState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `force_syntax_update` is never used [INFO] [stderr] --> src/buffer.rs:1053:12 [INFO] [stderr] | [INFO] [stderr] 87 | impl Buffer { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 1053 | pub fn force_syntax_update(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `update_preferred_visual_column`, `reset_preferred_column`, and `move_to_position` are never used [INFO] [stderr] --> src/cursor.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 23 | impl Cursor { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 34 | pub fn update_preferred_visual_column(&mut self, visual_column: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | pub fn reset_preferred_column(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 84 | pub fn move_to_position(&mut self, new_line: usize, new_column: usize, extend_selection: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CursorMovement` is never constructed [INFO] [stderr] --> src/cursor.rs:99:12 [INFO] [stderr] | [INFO] [stderr] 99 | pub struct CursorMovement; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated functions are never used [INFO] [stderr] --> src/cursor.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 101 | impl CursorMovement { [INFO] [stderr] | ------------------- associated functions in this implementation [INFO] [stderr] ... [INFO] [stderr] 104 | fn get_visual_column_in_segment( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 121 | fn get_char_pos_from_visual_column( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 185 | pub fn update_preferred_visual_column_with_width( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 282 | pub fn move_cursor_up_visual( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 386 | pub fn move_cursor_down_visual( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 491 | pub fn move_cursor_left(cursor: &mut Cursor, rope: &Rope) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 505 | pub fn move_cursor_right(cursor: &mut Cursor, rope: &Rope) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 521 | pub fn move_cursor_up_basic(cursor: &mut Cursor, rope: &Rope) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 536 | pub fn move_cursor_down_basic(cursor: &mut Cursor, rope: &Rope) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 551 | pub fn move_cursor_home(cursor: &mut Cursor) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 556 | pub fn move_cursor_end(cursor: &mut Cursor, rope: &Rope) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_line_text` is never used [INFO] [stderr] --> src/cursor.rs:567:4 [INFO] [stderr] | [INFO] [stderr] 567 | fn get_line_text(rope: &Rope, line: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `insert_tab`, `logical_to_visual_line`, `visual_to_logical_line`, `has_unsaved_changes`, and `mouse_to_wrapped_position` are never used [INFO] [stderr] --> src/editor.rs:1449:12 [INFO] [stderr] | [INFO] [stderr] 57 | impl Editor { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 1449 | pub fn insert_tab(&mut self, content_width: usize) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1731 | fn logical_to_visual_line(&self, logical_line: usize, buffer: &crate::buffer::Buffer, content_width: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1751 | fn visual_to_logical_line(&self, target_visual_line: usize, buffer: &crate::buffer::Buffer, content_width: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1991 | pub fn has_unsaved_changes(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2314 | fn mouse_to_wrapped_position(&self, line: usize, visual_x: usize, content_width: usize) -> Option<(usize, usize)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Parameter` and `Namespace` are never constructed [INFO] [stderr] --> src/syntax.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub enum TokenType { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 20 | Parameter, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 21 | Constant, [INFO] [stderr] 22 | Namespace, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `update_range`, `mark_dirty`, and `force_update` are never used [INFO] [stderr] --> src/syntax.rs:583:12 [INFO] [stderr] | [INFO] [stderr] 58 | impl SyntaxHighlighter { [INFO] [stderr] | ---------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 583 | pub fn update_range(&mut self, rope: &Rope, start_line: usize, end_line: usize) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2182 | pub fn mark_dirty(&mut self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2187 | pub fn force_update(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `line_end_col` is never read [INFO] [stderr] --> src/ui.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 22 | struct WrappedLine { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 26 | line_end_col: usize, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `WrappedLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/ui.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 29 | impl Ui { [INFO] [stderr] | ------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 34 | pub fn get_content_width(&self, config: &Config) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 811 | fn logical_to_visual_line(&self, buffer: &Buffer, logical_line: isize, content_width: usize) -> isize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1370 | fn get_text_style_with_selection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1394 | fn apply_selection_style( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1738 | fn text_overlaps_with_selection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1781 | fn calculate_total_visual_lines(&self, buffer: &Buffer, content_width: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1800 | fn calculate_cursor_visual_line(&self, buffer: &Buffer, content_width: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1897 | fn parse_crossterm_color(&self, color_str: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `byte_pos_to_column` is never used [INFO] [stderr] --> src/unicode_utils.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn byte_pos_to_column(text: &str, byte_pos: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `column_to_byte_pos` is never used [INFO] [stderr] --> src/unicode_utils.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn column_to_byte_pos(text: &str, target_col: usize) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `chars_display_width` is never used [INFO] [stderr] --> src/unicode_utils.rs:95:8 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn chars_display_width(chars: &[char]) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `find_char_at_visual_column` is never used [INFO] [stderr] --> src/unicode_utils.rs:101:8 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn find_char_at_visual_column(chars: &[char], target_col: usize) -> (usize, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `thyme` (bin "thyme" test) generated 33 warnings (9 duplicates) (run `cargo fix --bin "thyme" --tests` to apply 4 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/thyme-ff853a021f8041cf) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/thyme-998b7fbe4de61821) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests thyme [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "109764b6b52efb0ecddca328a79a178b3f006f16cc37c44b8b022c745d674ff3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "109764b6b52efb0ecddca328a79a178b3f006f16cc37c44b8b022c745d674ff3", kill_on_drop: false }` [INFO] [stdout] 109764b6b52efb0ecddca328a79a178b3f006f16cc37c44b8b022c745d674ff3