[INFO] cloning repository https://github.com/refrogerator/space
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/refrogerator/space" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frefrogerator%2Fspace", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frefrogerator%2Fspace'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8e865453e143dd9ad41b8ba5d220874372923e48
[INFO] checking refrogerator/space against try#93086cfebfccb79083c59d0d3b2052944bba643c for pr-146440-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frefrogerator%2Fspace" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/refrogerator/space
[INFO] finished tweaking git repo https://github.com/refrogerator/space
[INFO] tweaked toml for git repo https://github.com/refrogerator/space written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/refrogerator/space on toolchain 93086cfebfccb79083c59d0d3b2052944bba643c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/refrogerator/space 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" "+93086cfebfccb79083c59d0d3b2052944bba643c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4d46a784ad2b5a7eb5d7137cb35e288808517bcbd495a714150b1a49ff726729
[INFO] running `Command { std: "docker" "start" "-a" "4d46a784ad2b5a7eb5d7137cb35e288808517bcbd495a714150b1a49ff726729", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d46a784ad2b5a7eb5d7137cb35e288808517bcbd495a714150b1a49ff726729", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d46a784ad2b5a7eb5d7137cb35e288808517bcbd495a714150b1a49ff726729", kill_on_drop: false }`
[INFO] [stdout] 4d46a784ad2b5a7eb5d7137cb35e288808517bcbd495a714150b1a49ff726729
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ae77a3583c03119c6b07bc88bf64bd90395513ed1f05a5ae4bcfef6d914b2d3
[INFO] running `Command { std: "docker" "start" "-a" "0ae77a3583c03119c6b07bc88bf64bd90395513ed1f05a5ae4bcfef6d914b2d3", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling sdl3-sys v0.6.0+SDL-3.4.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling zmij v1.0.16
[INFO] [stderr]     Checking deranged v0.5.5
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking num-conv v0.2.0
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking time v0.3.46
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking quick-xml v0.38.4
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking clap_lex v0.7.7
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling sdl3 v0.17.3
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking flate2 v1.1.8
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking zeno v0.2.3
[INFO] [stderr]     Checking yazi v0.1.6
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking font-types v0.7.3
[INFO] [stderr]     Checking read-fonts v0.22.7
[INFO] [stderr]     Checking fancy-regex v0.16.2
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking plist v1.8.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking skrifa v0.22.3
[INFO] [stderr]     Checking swash v0.1.19
[INFO] [stderr]     Checking space v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[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: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `SubAssign`
[INFO] [stdout]  --> src/main.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Add, AddAssign, SubAssign};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExitStatus`
[INFO] [stdout]  --> src/main.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::process::{ExitStatus, Stdio};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `syntect::highlighting::ScopeSelector`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use syntect::highlighting::ScopeSelector;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ThemeSet`
[INFO] [stdout]   --> src/main.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 | use syntect::highlighting::{Style, ThemeSet};
[INFO] [stdout]    |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RecommendedWatcher`
[INFO] [stdout]   --> src/main.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | use notify::{RecommendedWatcher, RecursiveMode, Watcher};
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/main.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[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: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `SubAssign`
[INFO] [stdout]  --> src/main.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Add, AddAssign, SubAssign};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExitStatus`
[INFO] [stdout]  --> src/main.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::process::{ExitStatus, Stdio};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `syntect::highlighting::ScopeSelector`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use syntect::highlighting::ScopeSelector;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ThemeSet`
[INFO] [stdout]   --> src/main.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 | use syntect::highlighting::{Style, ThemeSet};
[INFO] [stdout]    |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RecommendedWatcher`
[INFO] [stdout]   --> src/main.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | use notify::{RecommendedWatcher, RecursiveMode, Watcher};
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/main.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_horiz`
[INFO] [stdout]    --> src/main.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let max_horiz = self.w > self.h;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_horiz`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ratio`
[INFO] [stdout]    --> src/main.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let ratio = container.w / container.h;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:897:17
[INFO] [stdout]     |
[INFO] [stdout] 897 |                 _ => {}
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:897:17
[INFO] [stdout]     |
[INFO] [stdout] 867 |                 EditEvent::Delete(pos, _) => {
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 870 |                 EditEvent::Paste(pos, str) => {
[INFO] [stdout]     |                 -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 878 |                 EditEvent::InsertModeEdit(ref edits) => {
[INFO] [stdout]     |                 ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 897 |                 _ => {}
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:893:29
[INFO] [stdout]     |
[INFO] [stdout] 893 | ...                   _ => {}
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:893:29
[INFO] [stdout]     |
[INFO] [stdout] 882 | ...                   LineEdit::Edited(diff) => {
[INFO] [stdout]     |                       ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 887 | ...                   LineEdit::Removed(line, content) => {
[INFO] [stdout]     |                       -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 890 | ...                   LineEdit::Added(line, content) => {
[INFO] [stdout]     |                       ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 893 | ...                   _ => {}
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/main.rs:887:53
[INFO] [stdout]     |
[INFO] [stdout] 887 | ...                   LineEdit::Removed(line, content) => {
[INFO] [stdout]     |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:951:17
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 _ => {}
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:951:17
[INFO] [stdout]     |
[INFO] [stdout] 906 |                 EditEvent::Delete(pos, content) => {
[INFO] [stdout]     |                 ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 929 |                 EditEvent::Paste(pos, _) => {
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 932 |                 EditEvent::InsertModeEdit(ref edits) => {
[INFO] [stdout]     |                 ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 951 |                 _ => {}
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:947:29
[INFO] [stdout]     |
[INFO] [stdout] 947 | ...                   _ => {}
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:947:29
[INFO] [stdout]     |
[INFO] [stdout] 936 | ...                   LineEdit::Edited(diff) => {
[INFO] [stdout]     |                       ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 939 | ...                   LineEdit::Removed(line, content) => {
[INFO] [stdout]     |                       -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 942 | ...                   LineEdit::Added(line, content) => {
[INFO] [stdout]     |                       ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 947 | ...                   _ => {}
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:904:21
[INFO] [stdout]     |
[INFO] [stdout] 904 |         if let Some(mut event) = self.undo_history.pop() {
[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: unused variable: `content`
[INFO] [stdout]    --> src/main.rs:942:51
[INFO] [stdout]     |
[INFO] [stdout] 942 | ...                   LineEdit::Added(line, content) => {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last_line_len` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:959:17
[INFO] [stdout]     |
[INFO] [stdout] 959 |             let mut last_line_len = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last_line_len` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_line_len` is never read
[INFO] [stdout]    --> src/main.rs:963:17
[INFO] [stdout]     |
[INFO] [stdout] 963 |                 last_line_len = line.len();
[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: unused variable: `b`
[INFO] [stdout]     --> src/main.rs:1078:66
[INFO] [stdout]      |
[INFO] [stdout] 1078 | ...   let mut found = fort.0.iter_mut().enumerate().find(|(b, a)| if let LineEdit::Edited(diff) = a { if diff.line == self.cursor....
[INFO] [stdout]      |                                                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_size`
[INFO] [stdout]     --> src/main.rs:1483:13
[INFO] [stdout]      |
[INFO] [stdout] 1483 |         let block_size = self.current_font.max_advance;
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/main.rs:2118:25
[INFO] [stdout]      |
[INFO] [stdout] 2118 |                         _ => {}
[INFO] [stdout]      |                         ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/main.rs:2118:25
[INFO] [stdout]      |
[INFO] [stdout] 2090 |                         EditorMode::Normal => {
[INFO] [stdout]      |                         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2097 |                         EditorMode::Insert => {
[INFO] [stdout]      |                         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2104 |                         EditorMode::OperatorPending(f) => {
[INFO] [stdout]      |                         ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2111 |                         EditorMode::ArgumentPending(_, f) | EditorMode::SecArgumentPending(_, f) => {
[INFO] [stdout]      |                         ------------------------------------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2118 |                         _ => {}
[INFO] [stdout]      |                         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_horiz`
[INFO] [stdout]    --> src/main.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let max_horiz = self.w > self.h;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_horiz`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ratio`
[INFO] [stdout]    --> src/main.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let ratio = container.w / container.h;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1622:9
[INFO] [stdout]      |
[INFO] [stdout] 1622 |     let mut shaper = shape_context
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gl_context`
[INFO] [stdout]     --> src/main.rs:1592:9
[INFO] [stdout]      |
[INFO] [stdout] 1592 |     let gl_context = window.gl_create_context().unwrap();
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gl_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shaper`
[INFO] [stdout]     --> src/main.rs:1622:9
[INFO] [stdout]      |
[INFO] [stdout] 1622 |     let mut shaper = shape_context
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shaper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]     --> src/main.rs:2000:13
[INFO] [stdout]      |
[INFO] [stdout] 2000 |         let delta = old.elapsed().as_secs_f32();
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]     --> src/main.rs:2006:21
[INFO] [stdout]      |
[INFO] [stdout] 2006 |                     timestamp,
[INFO] [stdout]      |                     ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]     --> src/main.rs:2007:21
[INFO] [stdout]      |
[INFO] [stdout] 2007 |                     window_id,
[INFO] [stdout]      |                     ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]     --> src/main.rs:2009:21
[INFO] [stdout]      |
[INFO] [stdout] 2009 |                     scancode,
[INFO] [stdout]      |                     ^^^^^^^^ help: try ignoring the field: `scancode: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repeat`
[INFO] [stdout]     --> src/main.rs:2011:21
[INFO] [stdout]      |
[INFO] [stdout] 2011 |                     repeat,
[INFO] [stdout]      |                     ^^^^^^ help: try ignoring the field: `repeat: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]     --> src/main.rs:2104:53
[INFO] [stdout]      |
[INFO] [stdout] 2104 |                         EditorMode::OperatorPending(f) => {
[INFO] [stdout]      |                                                     ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]     --> src/main.rs:2111:56
[INFO] [stdout]      |
[INFO] [stdout] 2111 |                         EditorMode::ArgumentPending(_, f) | EditorMode::SecArgumentPending(_, f) => {
[INFO] [stdout]      |                                                        ^                                      ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 2111 |                         EditorMode::ArgumentPending(_, _f) | EditorMode::SecArgumentPending(_, _f) => {
[INFO] [stdout]      |                                                        +                                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]     --> src/main.rs:2122:21
[INFO] [stdout]      |
[INFO] [stdout] 2122 |                     timestamp,
[INFO] [stdout]      |                     ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]     --> src/main.rs:2123:21
[INFO] [stdout]      |
[INFO] [stdout] 2123 |                     window_id,
[INFO] [stdout]      |                     ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/main.rs:2301:17
[INFO] [stdout]      |
[INFO] [stdout] 2301 |             let scale = 1.0; //15.0 / 64.0;
[INFO] [stdout]      |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/main.rs:2367:21
[INFO] [stdout]      |
[INFO] [stdout] 2367 |                 for i in editor.argument.chars() {
[INFO] [stdout]      |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/main.rs:1850:65
[INFO] [stdout]      |
[INFO] [stdout] 1850 |     commands.insert("search_prev", EditorOperation::Motion(&|a, b| dbg!(a.search_prev())));
[INFO] [stdout]      |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec2` is never constructed
[INFO] [stdout]   --> src/main.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct Vec2 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3` is never constructed
[INFO] [stdout]   --> src/main.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct Vec3 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec4` is never constructed
[INFO] [stdout]   --> src/main.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct Vec4 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Anchor` is never constructed
[INFO] [stdout]    --> src/main.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | struct Anchor {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Offset` is never used
[INFO] [stdout]    --> src/main.rs:135:6
[INFO] [stdout]     |
[INFO] [stdout] 135 | enum Offset {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Layout` is never constructed
[INFO] [stdout]    --> src/main.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct Layout {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rect` is never constructed
[INFO] [stdout]    --> src/main.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct Rect {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `resolve_offset` is never used
[INFO] [stdout]    --> src/main.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Rect {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 163 |     fn resolve_offset(&self, offset: &Offset, horiz: bool) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_screen_coords` is never used
[INFO] [stdout]    --> src/main.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | impl Layout {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 190 |     fn to_screen_coords(&self, container: Rect) -> Rect {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Button` is never constructed
[INFO] [stdout]    --> src/main.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | struct Button {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Frame` is never constructed
[INFO] [stdout]    --> src/main.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | struct Frame {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UiComponent` is never used
[INFO] [stdout]    --> src/main.rs:232:6
[INFO] [stdout]     |
[INFO] [stdout] 232 | enum UiComponent {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Half` is never constructed
[INFO] [stdout]    --> src/main.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 245 | enum CursorMode {
[INFO] [stdout]     |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 248 |     Half,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/main.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | enum Position {
[INFO] [stdout]     |      -------- variant in this enum
[INFO] [stdout] 254 |     Range(IVec2, IVec2),
[INFO] [stdout] 255 |     Block(IVec2, IVec2),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Position` 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: enum `Argument` is never used
[INFO] [stdout]    --> src/main.rs:261:6
[INFO] [stdout]     |
[INFO] [stdout] 261 | enum Argument {}
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `line_before_edit` is never used
[INFO] [stdout]    --> src/main.rs:358:8
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl LineEdits {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 358 |     fn line_before_edit(&self, line: i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_word` and `move_word_backwards` are never used
[INFO] [stdout]    --> src/main.rs:825:8
[INFO] [stdout]     |
[INFO] [stdout] 449 | impl<'a, 'b> EditorState<'a, 'b> {
[INFO] [stdout]     | -------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 825 |     fn move_word(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 |     fn move_word_backwards(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]     --> src/main.rs:1423:5
[INFO] [stdout]      |
[INFO] [stdout] 1422 | struct LoadedFont {
[INFO] [stdout]      |        ---------- field in this struct
[INFO] [stdout] 1423 |     size: i32,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quad_shader` is never read
[INFO] [stdout]     --> src/main.rs:1453:5
[INFO] [stdout]      |
[INFO] [stdout] 1450 | struct DrawingContext<'a> {
[INFO] [stdout]      |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1453 |     quad_shader: glow::Program,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_text` is never used
[INFO] [stdout]     --> src/main.rs:1529:8
[INFO] [stdout]      |
[INFO] [stdout] 1476 | impl<'a> DrawingContext<'a> {
[INFO] [stdout]      | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1529 |     fn draw_text(&self, text: &str, mut pos: IVec2, color: &Color) -> IVec2 {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/main.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 323 | #[derive(PartialEq)]
[INFO] [stdout]     |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 327 |     OperatorPending(fn(&mut EditorState, Position)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/main.rs:328:29
[INFO] [stdout]     |
[INFO] [stdout] 323 | #[derive(PartialEq)]
[INFO] [stdout]     |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 328 |     ArgumentPending(String, fn(&mut EditorState)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/main.rs:329:32
[INFO] [stdout]     |
[INFO] [stdout] 323 | #[derive(PartialEq)]
[INFO] [stdout]     |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 329 |     SecArgumentPending(String, fn(&mut EditorState)),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:897:17
[INFO] [stdout]     |
[INFO] [stdout] 897 |                 _ => {}
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:897:17
[INFO] [stdout]     |
[INFO] [stdout] 867 |                 EditEvent::Delete(pos, _) => {
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 870 |                 EditEvent::Paste(pos, str) => {
[INFO] [stdout]     |                 -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 878 |                 EditEvent::InsertModeEdit(ref edits) => {
[INFO] [stdout]     |                 ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 897 |                 _ => {}
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:893:29
[INFO] [stdout]     |
[INFO] [stdout] 893 | ...                   _ => {}
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:893:29
[INFO] [stdout]     |
[INFO] [stdout] 882 | ...                   LineEdit::Edited(diff) => {
[INFO] [stdout]     |                       ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 887 | ...                   LineEdit::Removed(line, content) => {
[INFO] [stdout]     |                       -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 890 | ...                   LineEdit::Added(line, content) => {
[INFO] [stdout]     |                       ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 893 | ...                   _ => {}
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/main.rs:887:53
[INFO] [stdout]     |
[INFO] [stdout] 887 | ...                   LineEdit::Removed(line, content) => {
[INFO] [stdout]     |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:951:17
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 _ => {}
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:951:17
[INFO] [stdout]     |
[INFO] [stdout] 906 |                 EditEvent::Delete(pos, content) => {
[INFO] [stdout]     |                 ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 929 |                 EditEvent::Paste(pos, _) => {
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 932 |                 EditEvent::InsertModeEdit(ref edits) => {
[INFO] [stdout]     |                 ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 951 |                 _ => {}
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:947:29
[INFO] [stdout]     |
[INFO] [stdout] 947 | ...                   _ => {}
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:947:29
[INFO] [stdout]     |
[INFO] [stdout] 936 | ...                   LineEdit::Edited(diff) => {
[INFO] [stdout]     |                       ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 939 | ...                   LineEdit::Removed(line, content) => {
[INFO] [stdout]     |                       -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 942 | ...                   LineEdit::Added(line, content) => {
[INFO] [stdout]     |                       ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 947 | ...                   _ => {}
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:904:21
[INFO] [stdout]     |
[INFO] [stdout] 904 |         if let Some(mut event) = self.undo_history.pop() {
[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: unused variable: `content`
[INFO] [stdout]    --> src/main.rs:942:51
[INFO] [stdout]     |
[INFO] [stdout] 942 | ...                   LineEdit::Added(line, content) => {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last_line_len` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:959:17
[INFO] [stdout]     |
[INFO] [stdout] 959 |             let mut last_line_len = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last_line_len` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_line_len` is never read
[INFO] [stdout]    --> src/main.rs:963:17
[INFO] [stdout]     |
[INFO] [stdout] 963 |                 last_line_len = line.len();
[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: unused variable: `b`
[INFO] [stdout]     --> src/main.rs:1078:66
[INFO] [stdout]      |
[INFO] [stdout] 1078 | ...   let mut found = fort.0.iter_mut().enumerate().find(|(b, a)| if let LineEdit::Edited(diff) = a { if diff.line == self.cursor....
[INFO] [stdout]      |                                                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_size`
[INFO] [stdout]     --> src/main.rs:1483:13
[INFO] [stdout]      |
[INFO] [stdout] 1483 |         let block_size = self.current_font.max_advance;
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/main.rs:2118:25
[INFO] [stdout]      |
[INFO] [stdout] 2118 |                         _ => {}
[INFO] [stdout]      |                         ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/main.rs:2118:25
[INFO] [stdout]      |
[INFO] [stdout] 2090 |                         EditorMode::Normal => {
[INFO] [stdout]      |                         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2097 |                         EditorMode::Insert => {
[INFO] [stdout]      |                         ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2104 |                         EditorMode::OperatorPending(f) => {
[INFO] [stdout]      |                         ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2111 |                         EditorMode::ArgumentPending(_, f) | EditorMode::SecArgumentPending(_, f) => {
[INFO] [stdout]      |                         ------------------------------------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2118 |                         _ => {}
[INFO] [stdout]      |                         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:1622:9
[INFO] [stdout]      |
[INFO] [stdout] 1622 |     let mut shaper = shape_context
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gl_context`
[INFO] [stdout]     --> src/main.rs:1592:9
[INFO] [stdout]      |
[INFO] [stdout] 1592 |     let gl_context = window.gl_create_context().unwrap();
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gl_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shaper`
[INFO] [stdout]     --> src/main.rs:1622:9
[INFO] [stdout]      |
[INFO] [stdout] 1622 |     let mut shaper = shape_context
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shaper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]     --> src/main.rs:2000:13
[INFO] [stdout]      |
[INFO] [stdout] 2000 |         let delta = old.elapsed().as_secs_f32();
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]     --> src/main.rs:2006:21
[INFO] [stdout]      |
[INFO] [stdout] 2006 |                     timestamp,
[INFO] [stdout]      |                     ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]     --> src/main.rs:2007:21
[INFO] [stdout]      |
[INFO] [stdout] 2007 |                     window_id,
[INFO] [stdout]      |                     ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]     --> src/main.rs:2009:21
[INFO] [stdout]      |
[INFO] [stdout] 2009 |                     scancode,
[INFO] [stdout]      |                     ^^^^^^^^ help: try ignoring the field: `scancode: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repeat`
[INFO] [stdout]     --> src/main.rs:2011:21
[INFO] [stdout]      |
[INFO] [stdout] 2011 |                     repeat,
[INFO] [stdout]      |                     ^^^^^^ help: try ignoring the field: `repeat: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]     --> src/main.rs:2104:53
[INFO] [stdout]      |
[INFO] [stdout] 2104 |                         EditorMode::OperatorPending(f) => {
[INFO] [stdout]      |                                                     ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]     --> src/main.rs:2111:56
[INFO] [stdout]      |
[INFO] [stdout] 2111 |                         EditorMode::ArgumentPending(_, f) | EditorMode::SecArgumentPending(_, f) => {
[INFO] [stdout]      |                                                        ^                                      ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 2111 |                         EditorMode::ArgumentPending(_, _f) | EditorMode::SecArgumentPending(_, _f) => {
[INFO] [stdout]      |                                                        +                                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]     --> src/main.rs:2122:21
[INFO] [stdout]      |
[INFO] [stdout] 2122 |                     timestamp,
[INFO] [stdout]      |                     ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]     --> src/main.rs:2123:21
[INFO] [stdout]      |
[INFO] [stdout] 2123 |                     window_id,
[INFO] [stdout]      |                     ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/main.rs:2301:17
[INFO] [stdout]      |
[INFO] [stdout] 2301 |             let scale = 1.0; //15.0 / 64.0;
[INFO] [stdout]      |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/main.rs:2367:21
[INFO] [stdout]      |
[INFO] [stdout] 2367 |                 for i in editor.argument.chars() {
[INFO] [stdout]      |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/main.rs:1850:65
[INFO] [stdout]      |
[INFO] [stdout] 1850 |     commands.insert("search_prev", EditorOperation::Motion(&|a, b| dbg!(a.search_prev())));
[INFO] [stdout]      |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec2` is never constructed
[INFO] [stdout]   --> src/main.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct Vec2 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3` is never constructed
[INFO] [stdout]   --> src/main.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct Vec3 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec4` is never constructed
[INFO] [stdout]   --> src/main.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct Vec4 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Anchor` is never constructed
[INFO] [stdout]    --> src/main.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | struct Anchor {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Offset` is never used
[INFO] [stdout]    --> src/main.rs:135:6
[INFO] [stdout]     |
[INFO] [stdout] 135 | enum Offset {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Layout` is never constructed
[INFO] [stdout]    --> src/main.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct Layout {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rect` is never constructed
[INFO] [stdout]    --> src/main.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct Rect {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `resolve_offset` is never used
[INFO] [stdout]    --> src/main.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Rect {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 163 |     fn resolve_offset(&self, offset: &Offset, horiz: bool) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_screen_coords` is never used
[INFO] [stdout]    --> src/main.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | impl Layout {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 190 |     fn to_screen_coords(&self, container: Rect) -> Rect {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Button` is never constructed
[INFO] [stdout]    --> src/main.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | struct Button {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Frame` is never constructed
[INFO] [stdout]    --> src/main.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | struct Frame {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UiComponent` is never used
[INFO] [stdout]    --> src/main.rs:232:6
[INFO] [stdout]     |
[INFO] [stdout] 232 | enum UiComponent {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Half` is never constructed
[INFO] [stdout]    --> src/main.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 245 | enum CursorMode {
[INFO] [stdout]     |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 248 |     Half,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Block` is never constructed
[INFO] [stdout]    --> src/main.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | enum Position {
[INFO] [stdout]     |      -------- variant in this enum
[INFO] [stdout] 254 |     Range(IVec2, IVec2),
[INFO] [stdout] 255 |     Block(IVec2, IVec2),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Position` 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: enum `Argument` is never used
[INFO] [stdout]    --> src/main.rs:261:6
[INFO] [stdout]     |
[INFO] [stdout] 261 | enum Argument {}
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `line_before_edit` is never used
[INFO] [stdout]    --> src/main.rs:358:8
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl LineEdits {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 358 |     fn line_before_edit(&self, line: i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_word` and `move_word_backwards` are never used
[INFO] [stdout]    --> src/main.rs:825:8
[INFO] [stdout]     |
[INFO] [stdout] 449 | impl<'a, 'b> EditorState<'a, 'b> {
[INFO] [stdout]     | -------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 825 |     fn move_word(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 |     fn move_word_backwards(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]     --> src/main.rs:1423:5
[INFO] [stdout]      |
[INFO] [stdout] 1422 | struct LoadedFont {
[INFO] [stdout]      |        ---------- field in this struct
[INFO] [stdout] 1423 |     size: i32,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quad_shader` is never read
[INFO] [stdout]     --> src/main.rs:1453:5
[INFO] [stdout]      |
[INFO] [stdout] 1450 | struct DrawingContext<'a> {
[INFO] [stdout]      |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1453 |     quad_shader: glow::Program,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_text` is never used
[INFO] [stdout]     --> src/main.rs:1529:8
[INFO] [stdout]      |
[INFO] [stdout] 1476 | impl<'a> DrawingContext<'a> {
[INFO] [stdout]      | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1529 |     fn draw_text(&self, text: &str, mut pos: IVec2, color: &Color) -> IVec2 {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/main.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 323 | #[derive(PartialEq)]
[INFO] [stdout]     |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 327 |     OperatorPending(fn(&mut EditorState, Position)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/main.rs:328:29
[INFO] [stdout]     |
[INFO] [stdout] 323 | #[derive(PartialEq)]
[INFO] [stdout]     |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 328 |     ArgumentPending(String, fn(&mut EditorState)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/main.rs:329:32
[INFO] [stdout]     |
[INFO] [stdout] 323 | #[derive(PartialEq)]
[INFO] [stdout]     |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 329 |     SecArgumentPending(String, fn(&mut EditorState)),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "0ae77a3583c03119c6b07bc88bf64bd90395513ed1f05a5ae4bcfef6d914b2d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ae77a3583c03119c6b07bc88bf64bd90395513ed1f05a5ae4bcfef6d914b2d3", kill_on_drop: false }`
[INFO] [stdout] 0ae77a3583c03119c6b07bc88bf64bd90395513ed1f05a5ae4bcfef6d914b2d3
