[INFO] fetching crate rhe 0.1.0... [INFO] checking rhe-0.1.0 against try#5f6abd89da253a562ad85d235b9342a3ac336c28 for pr-156114 [INFO] extracting crate rhe 0.1.0 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate rhe 0.1.0 [INFO] finished tweaking crates.io crate rhe 0.1.0 [INFO] tweaked toml for crates.io crate rhe 0.1.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rhe 0.1.0 on toolchain 5f6abd89da253a562ad85d235b9342a3ac336c28 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rhe 0.1.0 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" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f809894c055bd9bf1d167cfef5b2b72014adc3a14563ff9e1c571e9f620f7e85 [INFO] running `Command { std: "docker" "start" "-a" "f809894c055bd9bf1d167cfef5b2b72014adc3a14563ff9e1c571e9f620f7e85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f809894c055bd9bf1d167cfef5b2b72014adc3a14563ff9e1c571e9f620f7e85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f809894c055bd9bf1d167cfef5b2b72014adc3a14563ff9e1c571e9f620f7e85", kill_on_drop: false }` [INFO] [stdout] f809894c055bd9bf1d167cfef5b2b72014adc3a14563ff9e1c571e9f620f7e85 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bd3c8d0b4118660a556ded690e3ab6e1fc65ebe14bdceb02d50bcb1735e705ba [INFO] running `Command { std: "docker" "start" "-a" "bd3c8d0b4118660a556ded690e3ab6e1fc65ebe14bdceb02d50bcb1735e705ba", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling version-compare v0.2.1 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking bitflags v2.11.1 [INFO] [stderr] Checking libloading v0.8.9 [INFO] [stderr] Compiling wayland-sys v0.31.11 [INFO] [stderr] Compiling cc v1.2.59 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling quick-xml v0.39.2 [INFO] [stderr] Checking dlib v0.5.3 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Compiling wayland-client v0.31.14 [INFO] [stderr] Compiling gio v0.18.4 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking memmap2 v0.9.10 [INFO] [stderr] Checking simd-adler32 v0.3.9 [INFO] [stderr] Compiling field-offset v0.3.6 [INFO] [stderr] Compiling x11 v2.21.0 [INFO] [stderr] Compiling cfg-expr v0.15.8 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Compiling toml_datetime v0.6.3 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling gtk v0.18.2 [INFO] [stderr] Compiling libxdo-sys v0.11.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling drm-sys v0.8.1 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Compiling toml_edit v0.20.2 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Compiling slotmap v1.1.1 [INFO] [stderr] Checking cursor-icon v1.2.0 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Compiling smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking xcursor v0.3.10 [INFO] [stderr] Compiling drm-fourcc v2.2.0 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking zerofrom v0.1.7 [INFO] [stderr] Checking as-raw-xcb-connection v1.0.1 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Checking yoke v0.8.2 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Checking zerotrie v0.2.4 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Compiling wayland-scanner v0.31.10 [INFO] [stderr] Checking zerovec v0.11.6 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking font-types v0.11.3 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling tiny-xlib v0.2.5 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Checking dpi v0.1.2 [INFO] [stderr] Checking tinystr v0.8.3 [INFO] [stderr] Checking potential_utf v0.1.5 [INFO] [stderr] Checking read-fonts v0.37.0 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.10 [INFO] [stderr] Checking icu_locale_core v2.2.0 [INFO] [stderr] Checking icu_collections v2.2.0 [INFO] [stderr] Compiling wayland-backend v0.3.15 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking x11rb-protocol v0.13.2 [INFO] [stderr] Compiling rustls v0.23.38 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking keyboard-types v0.7.0 [INFO] [stderr] Compiling winit v0.30.13 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking fontconfig-parser v0.5.8 [INFO] [stderr] Checking libxdo v0.6.0 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking icu_provider v2.2.0 [INFO] [stderr] Checking icu_normalizer v2.2.0 [INFO] [stderr] Checking icu_properties v2.2.0 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking webpki-roots v1.0.7 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Checking unicode-bidi-mirroring v0.2.0 [INFO] [stderr] Checking ttf-parser v0.21.1 [INFO] [stderr] Checking owned_ttf_parser v0.25.1 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking ab_glyph v0.2.32 [INFO] [stderr] Checking yazi v0.2.1 [INFO] [stderr] Checking unicode-ccc v0.2.0 [INFO] [stderr] Compiling toml v0.8.2 [INFO] [stderr] Compiling proc-macro-crate v2.0.2 [INFO] [stderr] Checking unicode-script v0.5.8 [INFO] [stderr] Checking ctor v0.10.1 [INFO] [stderr] Checking ttf-parser v0.20.0 [INFO] [stderr] Checking zeno v0.3.3 [INFO] [stderr] Checking unicode-properties v0.1.4 [INFO] [stderr] Checking webpki-roots v0.26.11 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking png v0.18.1 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling system-deps v6.2.2 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Compiling rhe v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling gtk3-macros v0.18.2 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking xkbcommon v0.9.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking rustybuzz v0.14.1 [INFO] [stderr] Compiling glib-macros v0.18.5 [INFO] [stderr] Compiling glib-sys v0.18.1 [INFO] [stderr] Compiling gobject-sys v0.18.0 [INFO] [stderr] Compiling gio-sys v0.18.1 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.18.0 [INFO] [stderr] Compiling gdk-sys v0.18.2 [INFO] [stderr] Compiling atk-sys v0.18.2 [INFO] [stderr] Compiling cairo-sys-rs v0.18.2 [INFO] [stderr] Compiling pango-sys v0.18.0 [INFO] [stderr] Compiling gtk-sys v0.18.2 [INFO] [stderr] Checking fontdb v0.16.2 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Checking drm-ffi v0.9.1 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking drm v0.14.1 [INFO] [stderr] Checking rustls-webpki v0.103.12 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking glib v0.18.5 [INFO] [stderr] Checking skrifa v0.40.0 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking libappindicator-sys v0.9.0 [INFO] [stderr] Checking wayland-protocols v0.32.12 [INFO] [stderr] Checking wayland-cursor v0.31.14 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking swash v0.2.7 [INFO] [stderr] Checking ureq v2.12.1 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking cosmic-text v0.14.2 [INFO] [stderr] Checking cairo-rs v0.18.5 [INFO] [stderr] Checking atk v0.18.2 [INFO] [stderr] Checking softbuffer v0.4.8 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.12 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.12 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking pango v0.18.3 [INFO] [stderr] Checking gdk-pixbuf v0.18.5 [INFO] [stderr] Checking gdk v0.18.2 [INFO] [stderr] Checking libappindicator v0.9.0 [INFO] [stderr] Checking muda v0.17.2 [INFO] [stderr] Checking tray-icon v0.22.0 [INFO] [stdout] warning: function `cmu_vowel_to_left` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn cmu_vowel_to_left(ph: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `finger_effort` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn finger_effort(bits: u8) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `right_label` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:204:4 [INFO] [stdout] | [INFO] [stdout] 204 | fn right_label(right: u8) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `left_label` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:249:4 [INFO] [stdout] | [INFO] [stdout] 249 | fn left_label(left: u8) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_nearest_slot` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:871:4 [INFO] [stdout] | [INFO] [stdout] 871 | fn find_nearest_slot( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cmu_vowel_to_left` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn cmu_vowel_to_left(ph: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `finger_effort` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn finger_effort(bits: u8) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `right_label` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:204:4 [INFO] [stdout] | [INFO] [stdout] 204 | fn right_label(right: u8) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `left_label` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:249:4 [INFO] [stdout] | [INFO] [stdout] 249 | fn left_label(left: u8) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_nearest_slot` is never used [INFO] [stdout] --> src/bin/gen_briefs.rs:871:4 [INFO] [stdout] | [INFO] [stdout] 871 | fn find_nearest_slot( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::preferences::layout` [INFO] [stdout] --> src/input/evdev_backend.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::preferences::layout; [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: `TrayIcon` [INFO] [stdout] --> src/tray.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | use tray_icon::{Icon, TrayIcon, TrayIconBuilder}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::preferences::layout` [INFO] [stdout] --> src/input/evdev_backend.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::preferences::layout; [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: `TrayIcon` [INFO] [stdout] --> src/tray.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | use tray_icon::{Icon, TrayIcon, TrayIconBuilder}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/tray.rs:1960:33 [INFO] [stdout] | [INFO] [stdout] 1960 | ... Some(_) | None => CursorIcon::Default, [INFO] [stdout] | ^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/tray.rs:1960:33 [INFO] [stdout] | [INFO] [stdout] 1950 | ... Some(ResizeDirection::NorthWest) [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] 1951 | ... | Some(ResizeDirection::SouthEast) => CursorIcon::NwseResize, [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] 1952 | ... Some(ResizeDirection::NorthEast) [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] 1953 | ... | Some(ResizeDirection::SouthWest) => CursorIcon::NeswResize, [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1960 | ... Some(_) | None => CursorIcon::Default, [INFO] [stdout] | ^^^^^^^ ...and 4 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/tutor/ui/layout.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let span = span(window_w, window_h); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tutor/wiki.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_briefs` is never used [INFO] [stdout] --> src/data.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn load_briefs() -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EscAlone` and `EscOrCapsPlusEsc` are never constructed [INFO] [stdout] --> src/input/evdev_backend.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum QuitTrigger { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 92 | /// Esc alone quits. Caps lock passes through to OS, doesn't toggle. [INFO] [stdout] 93 | EscAlone, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | EscOrCapsPlusEsc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuitTrigger` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_fallback`, and `in_number_mode` are never used [INFO] [stdout] --> src/interpreter.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl Interpreter { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn new(phonemes: PhonemeTable, briefs: BriefTable, dictionary: PhonemeDictionary) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn with_fallback( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn in_number_mode(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NullOutput` is never constructed [INFO] [stdout] --> src/output/mod.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct NullOutput; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/output/mod.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl NullOutput { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 23 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `EMPTY` and `from_packed_u16` are never used [INFO] [stdout] --> src/preferences/chord_map.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 20 | impl ChordKey { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 21 | /// Empty chord (no keys pressed). [INFO] [stdout] 22 | pub const EMPTY: Self = Self(KeyMask::EMPTY); [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn from_packed_u16(packed: u16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UndoPhoneme` is never constructed [INFO] [stdout] --> src/state_machine.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Event { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | UndoPhoneme, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Event` 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: function `circle_icon` is never used [INFO] [stdout] --> src/tray.rs:316:4 [INFO] [stdout] | [INFO] [stdout] 316 | fn circle_icon(r: u8, g: u8, b: u8, a: u8) -> Icon { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_extra` and `matches` are never used [INFO] [stdout] --> src/tutor/drill.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Target { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 35 | pub fn has_extra(&self, state: &KeyState) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn matches(&self, state: &KeyState) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `suffix_label` is never read [INFO] [stdout] --> src/tutor/drill.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct PracticeWord { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 90 | pub suffix_label: Option, // e.g. "~ing" for display [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `px` is never used [INFO] [stdout] --> src/tutor/ui/mod.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn px(span: f32, ru: f32, divisor: f32) -> i32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mark_rows` and `mark_all` are never used [INFO] [stdout] --> src/tutor/ui/renderer_linux_softbuffer.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl<'a> SoftbufferBuffer<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn mark_rows(&self, _y_start: u32, _y_end: u32) {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 37 | pub fn mark_all(&self) {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `mark_rows` is never used [INFO] [stdout] --> src/tutor/ui/renderer_linux_softbuffer.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 61 | impl Renderer { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn mark_rows(&mut self, y_start: u32, y_end: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIT_HANDLE_TEXTBOX` is never used [INFO] [stdout] --> src/tutor/ui/compositor.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const HIT_HANDLE_TEXTBOX: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIT_PRIMARY_BUTTON` is never used [INFO] [stdout] --> src/tutor/ui/compositor.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const HIT_PRIMARY_BUTTON: u8 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/tutor/ui/compositor.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl TutorApp { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn window_controls_bounds( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 680 | pub fn draw_plus_symbol( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 763 | fn distance_to_capsule_local( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1173 | pub fn draw_textbox( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1668 | pub fn apply_textbox_glow( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2601 | pub fn draw_filled_circle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2667 | fn draw_indicator_hairline( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PATCH_COARSE` is never used [INFO] [stdout] --> src/tutor/ui/drawing.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const PATCH_COARSE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PATCH_FINE` is never used [INFO] [stdout] --> src/tutor/ui/drawing.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const PATCH_FINE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bw`, `bh`, `chrome_h`, `phoneme_space_w`, and `row_w` are never read [INFO] [stdout] --> src/tutor/ui/layout.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct TutorLayout { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 158 | // Window [INFO] [stdout] 159 | pub bw: i32, [INFO] [stdout] | ^^ [INFO] [stdout] 160 | pub bh: i32, [INFO] [stdout] | ^^ [INFO] [stdout] 161 | pub chrome_h: i32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub phoneme_space_w: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub row_w: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tutor/ui/text_rasterizing.rs:305:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextRenderer { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn draw_text_left( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn draw_text_right( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn draw_text_left_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 624 | pub fn draw_text_center_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 675 | pub fn draw_text_right_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 724 | fn render_buffer_left_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 790 | fn render_buffer_center_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 861 | fn render_buffer_right_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 932 | pub fn measure_text_width(&mut self, text: &str, size: f32, weight: u16, font: &str) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 957 | pub fn render_char_additive( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1070 | pub fn draw_text_scrollable_additive( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1119 | pub fn render_char_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CANVAS_BG` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const CANVAS_BG: u32 = fmt(0xFF_20_20_20); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOD_SECONDARY` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:107:11 [INFO] [stdout] | [INFO] [stdout] 107 | pub const MOD_SECONDARY: u32 = fmt(0xFF_40_00_70); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STEP_HINT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | pub const STEP_HINT: u32 = fmt(0xFF_B0_B0_B0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_EDGE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 133 | pub const LIGHT_EDGE: u32 = fmt(0xFF_60_60_60); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SHADOW_EDGE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const SHADOW_EDGE: u32 = fmt(0xFF_20_20_20); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILL` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FILL: u32 = fmt(0xFF_40_40_40); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LABEL_COLOUR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:137:11 [INFO] [stdout] | [INFO] [stdout] 137 | pub const LABEL_COLOUR: u32 = fmt(0xFF_80_80_80); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXT_COLOUR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:138:11 [INFO] [stdout] | [INFO] [stdout] 138 | pub const TEXT_COLOUR: u32 = fmt(0xFF_D0_D0_D0); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXT_SELECTION_COLOUR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:139:11 [INFO] [stdout] | [INFO] [stdout] 139 | pub const TEXT_SELECTION_COLOUR: u32 = fmt(0xFF_D0_D0_D0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_BASE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:142:11 [INFO] [stdout] | [INFO] [stdout] 142 | pub const BUTTON_BASE: u32 = fmt(0xFF_40_40_40); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_HAIRLINE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:145:11 [INFO] [stdout] | [INFO] [stdout] 145 | pub const BUTTON_HAIRLINE: u32 = fmt(0xFF_32_32_32); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_BLUE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:146:11 [INFO] [stdout] | [INFO] [stdout] 146 | pub const BUTTON_BLUE: u32 = fmt(0xFF_20_30_50); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_GREEN` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:147:11 [INFO] [stdout] | [INFO] [stdout] 147 | pub const BUTTON_GREEN: u32 = fmt(0xFF_20_45_25); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_YELLOW` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const BUTTON_YELLOW: u32 = fmt(0xFF_50_45_20); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_TEXT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:149:11 [INFO] [stdout] | [INFO] [stdout] 149 | pub const BUTTON_TEXT: u32 = fmt(0xFF_D0_D0_D0); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTBOX_HOVER` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:152:11 [INFO] [stdout] | [INFO] [stdout] 152 | pub const TEXTBOX_HOVER: u32 = fmt(0x00_0A_0A_0A); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `QUERY_BUTTON_HOVER` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:153:11 [INFO] [stdout] | [INFO] [stdout] 153 | pub const QUERY_BUTTON_HOVER: u32 = fmt(0x00_0F_0F_0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BACK_HEADER_HOVER` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:154:11 [INFO] [stdout] | [INFO] [stdout] 154 | pub const BACK_HEADER_HOVER: u32 = fmt(0x00_0C_0C_0C); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTBOX_LIGHT_EDGE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:157:11 [INFO] [stdout] | [INFO] [stdout] 157 | pub const TEXTBOX_LIGHT_EDGE: u32 = fmt(0xFF_44_41_37); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTBOX_SHADOW_EDGE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:158:11 [INFO] [stdout] | [INFO] [stdout] 158 | pub const TEXTBOX_SHADOW_EDGE: u32 = fmt(0xFF_2B_34_37); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTBOX_FILL` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:159:11 [INFO] [stdout] | [INFO] [stdout] 159 | pub const TEXTBOX_FILL: u32 = fmt(0xFF_06_08_09); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOW_DEFAULT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:162:11 [INFO] [stdout] | [INFO] [stdout] 162 | pub const GLOW_DEFAULT: u32 = fmt(0x00_FF_FF_FF); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOW_ATTESTING` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:163:11 [INFO] [stdout] | [INFO] [stdout] 163 | pub const GLOW_ATTESTING: u32 = fmt(0x00_FF_FF_40); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOW_SUCCESS` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:164:11 [INFO] [stdout] | [INFO] [stdout] 164 | pub const GLOW_SUCCESS: u32 = fmt(0x00_40_FF_40); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOW_ERROR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:165:11 [INFO] [stdout] | [INFO] [stdout] 165 | pub const GLOW_ERROR: u32 = fmt(0x00_FF_60_60); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLACEHOLDER_TEXT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:169:11 [INFO] [stdout] | [INFO] [stdout] 169 | pub const PLACEHOLDER_TEXT: u32 = fmt(0xFF_80_80_80); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STATUS_TEXT_ATTESTING` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:170:11 [INFO] [stdout] | [INFO] [stdout] 170 | pub const STATUS_TEXT_ATTESTING: u32 = fmt(0xFF_FF_FF_00); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STATUS_TEXT_ERROR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:171:11 [INFO] [stdout] | [INFO] [stdout] 171 | pub const STATUS_TEXT_ERROR: u32 = fmt(0xFF_FF_00_00); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_MARKER` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:176:11 [INFO] [stdout] | [INFO] [stdout] 176 | pub const DEBUG_MARKER: u32 = fmt(0xFE_FF_00_FF); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_LOGO` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:186:11 [INFO] [stdout] | [INFO] [stdout] 186 | pub const FONT_LOGO: &str = "Oxanium"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_UI` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:187:11 [INFO] [stdout] | [INFO] [stdout] 187 | pub const FONT_UI: &str = "Josefin Slab"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_USER_CONTENT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:188:11 [INFO] [stdout] | [INFO] [stdout] 188 | pub const FONT_USER_CONTENT: &str = "Open Sans"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_WEIGHT_USER_CONTENT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:189:11 [INFO] [stdout] | [INFO] [stdout] 189 | pub const FONT_WEIGHT_USER_CONTENT: u16 = 400; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_sentences` is never used [INFO] [stdout] --> src/tutor/wiki.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn load_sentences() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/tray.rs:1960:33 [INFO] [stdout] | [INFO] [stdout] 1960 | ... Some(_) | None => CursorIcon::Default, [INFO] [stdout] | ^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/tray.rs:1960:33 [INFO] [stdout] | [INFO] [stdout] 1950 | ... Some(ResizeDirection::NorthWest) [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] 1951 | ... | Some(ResizeDirection::SouthEast) => CursorIcon::NwseResize, [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] 1952 | ... Some(ResizeDirection::NorthEast) [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] 1953 | ... | Some(ResizeDirection::SouthWest) => CursorIcon::NeswResize, [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1960 | ... Some(_) | None => CursorIcon::Default, [INFO] [stdout] | ^^^^^^^ ...and 4 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/tutor/ui/layout.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let span = span(window_w, window_h); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tutor/wiki.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_briefs` is never used [INFO] [stdout] --> src/data.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn load_briefs() -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EscAlone` and `EscOrCapsPlusEsc` are never constructed [INFO] [stdout] --> src/input/evdev_backend.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum QuitTrigger { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 92 | /// Esc alone quits. Caps lock passes through to OS, doesn't toggle. [INFO] [stdout] 93 | EscAlone, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | EscOrCapsPlusEsc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuitTrigger` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_fallback` and `in_number_mode` are never used [INFO] [stdout] --> src/interpreter.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl Interpreter { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn with_fallback( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn in_number_mode(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NullOutput` is never constructed [INFO] [stdout] --> src/output/mod.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct NullOutput; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/output/mod.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl NullOutput { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 23 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `EMPTY` is never used [INFO] [stdout] --> src/preferences/chord_map.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 20 | impl ChordKey { [INFO] [stdout] | ------------- associated constant in this implementation [INFO] [stdout] 21 | /// Empty chord (no keys pressed). [INFO] [stdout] 22 | pub const EMPTY: Self = Self(KeyMask::EMPTY); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UndoPhoneme` is never constructed [INFO] [stdout] --> src/state_machine.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Event { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | UndoPhoneme, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Event` 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: function `circle_icon` is never used [INFO] [stdout] --> src/tray.rs:316:4 [INFO] [stdout] | [INFO] [stdout] 316 | fn circle_icon(r: u8, g: u8, b: u8, a: u8) -> Icon { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_extra` and `matches` are never used [INFO] [stdout] --> src/tutor/drill.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Target { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 35 | pub fn has_extra(&self, state: &KeyState) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn matches(&self, state: &KeyState) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `suffix_label` is never read [INFO] [stdout] --> src/tutor/drill.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct PracticeWord { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 90 | pub suffix_label: Option, // e.g. "~ing" for display [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `px` is never used [INFO] [stdout] --> src/tutor/ui/mod.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn px(span: f32, ru: f32, divisor: f32) -> i32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mark_rows` and `mark_all` are never used [INFO] [stdout] --> src/tutor/ui/renderer_linux_softbuffer.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl<'a> SoftbufferBuffer<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn mark_rows(&self, _y_start: u32, _y_end: u32) {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 37 | pub fn mark_all(&self) {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `mark_rows` is never used [INFO] [stdout] --> src/tutor/ui/renderer_linux_softbuffer.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 61 | impl Renderer { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn mark_rows(&mut self, y_start: u32, y_end: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIT_HANDLE_TEXTBOX` is never used [INFO] [stdout] --> src/tutor/ui/compositor.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const HIT_HANDLE_TEXTBOX: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIT_PRIMARY_BUTTON` is never used [INFO] [stdout] --> src/tutor/ui/compositor.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const HIT_PRIMARY_BUTTON: u8 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/tutor/ui/compositor.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl TutorApp { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn window_controls_bounds( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 680 | pub fn draw_plus_symbol( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 763 | fn distance_to_capsule_local( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1173 | pub fn draw_textbox( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1668 | pub fn apply_textbox_glow( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2601 | pub fn draw_filled_circle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2667 | fn draw_indicator_hairline( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PATCH_COARSE` is never used [INFO] [stdout] --> src/tutor/ui/drawing.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const PATCH_COARSE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PATCH_FINE` is never used [INFO] [stdout] --> src/tutor/ui/drawing.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const PATCH_FINE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bw`, `bh`, `chrome_h`, `phoneme_space_w`, and `row_w` are never read [INFO] [stdout] --> src/tutor/ui/layout.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct TutorLayout { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 158 | // Window [INFO] [stdout] 159 | pub bw: i32, [INFO] [stdout] | ^^ [INFO] [stdout] 160 | pub bh: i32, [INFO] [stdout] | ^^ [INFO] [stdout] 161 | pub chrome_h: i32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub phoneme_space_w: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub row_w: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tutor/ui/text_rasterizing.rs:305:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TextRenderer { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn draw_text_left( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn draw_text_right( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn draw_text_left_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 624 | pub fn draw_text_center_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 675 | pub fn draw_text_right_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 724 | fn render_buffer_left_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 790 | fn render_buffer_center_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 861 | fn render_buffer_right_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 932 | pub fn measure_text_width(&mut self, text: &str, size: f32, weight: u16, font: &str) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 957 | pub fn render_char_additive( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1070 | pub fn draw_text_scrollable_additive( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1119 | pub fn render_char_additive_u32( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CANVAS_BG` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const CANVAS_BG: u32 = fmt(0xFF_20_20_20); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOD_SECONDARY` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:107:11 [INFO] [stdout] | [INFO] [stdout] 107 | pub const MOD_SECONDARY: u32 = fmt(0xFF_40_00_70); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STEP_HINT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | pub const STEP_HINT: u32 = fmt(0xFF_B0_B0_B0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_EDGE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 133 | pub const LIGHT_EDGE: u32 = fmt(0xFF_60_60_60); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SHADOW_EDGE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const SHADOW_EDGE: u32 = fmt(0xFF_20_20_20); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILL` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FILL: u32 = fmt(0xFF_40_40_40); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LABEL_COLOUR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:137:11 [INFO] [stdout] | [INFO] [stdout] 137 | pub const LABEL_COLOUR: u32 = fmt(0xFF_80_80_80); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXT_COLOUR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:138:11 [INFO] [stdout] | [INFO] [stdout] 138 | pub const TEXT_COLOUR: u32 = fmt(0xFF_D0_D0_D0); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXT_SELECTION_COLOUR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:139:11 [INFO] [stdout] | [INFO] [stdout] 139 | pub const TEXT_SELECTION_COLOUR: u32 = fmt(0xFF_D0_D0_D0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_BASE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:142:11 [INFO] [stdout] | [INFO] [stdout] 142 | pub const BUTTON_BASE: u32 = fmt(0xFF_40_40_40); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_HAIRLINE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:145:11 [INFO] [stdout] | [INFO] [stdout] 145 | pub const BUTTON_HAIRLINE: u32 = fmt(0xFF_32_32_32); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_BLUE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:146:11 [INFO] [stdout] | [INFO] [stdout] 146 | pub const BUTTON_BLUE: u32 = fmt(0xFF_20_30_50); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_GREEN` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:147:11 [INFO] [stdout] | [INFO] [stdout] 147 | pub const BUTTON_GREEN: u32 = fmt(0xFF_20_45_25); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_YELLOW` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const BUTTON_YELLOW: u32 = fmt(0xFF_50_45_20); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUTTON_TEXT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:149:11 [INFO] [stdout] | [INFO] [stdout] 149 | pub const BUTTON_TEXT: u32 = fmt(0xFF_D0_D0_D0); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTBOX_HOVER` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:152:11 [INFO] [stdout] | [INFO] [stdout] 152 | pub const TEXTBOX_HOVER: u32 = fmt(0x00_0A_0A_0A); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `QUERY_BUTTON_HOVER` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:153:11 [INFO] [stdout] | [INFO] [stdout] 153 | pub const QUERY_BUTTON_HOVER: u32 = fmt(0x00_0F_0F_0F); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BACK_HEADER_HOVER` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:154:11 [INFO] [stdout] | [INFO] [stdout] 154 | pub const BACK_HEADER_HOVER: u32 = fmt(0x00_0C_0C_0C); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTBOX_LIGHT_EDGE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:157:11 [INFO] [stdout] | [INFO] [stdout] 157 | pub const TEXTBOX_LIGHT_EDGE: u32 = fmt(0xFF_44_41_37); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTBOX_SHADOW_EDGE` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:158:11 [INFO] [stdout] | [INFO] [stdout] 158 | pub const TEXTBOX_SHADOW_EDGE: u32 = fmt(0xFF_2B_34_37); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTBOX_FILL` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:159:11 [INFO] [stdout] | [INFO] [stdout] 159 | pub const TEXTBOX_FILL: u32 = fmt(0xFF_06_08_09); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOW_DEFAULT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:162:11 [INFO] [stdout] | [INFO] [stdout] 162 | pub const GLOW_DEFAULT: u32 = fmt(0x00_FF_FF_FF); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOW_ATTESTING` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:163:11 [INFO] [stdout] | [INFO] [stdout] 163 | pub const GLOW_ATTESTING: u32 = fmt(0x00_FF_FF_40); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOW_SUCCESS` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:164:11 [INFO] [stdout] | [INFO] [stdout] 164 | pub const GLOW_SUCCESS: u32 = fmt(0x00_40_FF_40); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOW_ERROR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:165:11 [INFO] [stdout] | [INFO] [stdout] 165 | pub const GLOW_ERROR: u32 = fmt(0x00_FF_60_60); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLACEHOLDER_TEXT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:169:11 [INFO] [stdout] | [INFO] [stdout] 169 | pub const PLACEHOLDER_TEXT: u32 = fmt(0xFF_80_80_80); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STATUS_TEXT_ATTESTING` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:170:11 [INFO] [stdout] | [INFO] [stdout] 170 | pub const STATUS_TEXT_ATTESTING: u32 = fmt(0xFF_FF_FF_00); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STATUS_TEXT_ERROR` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:171:11 [INFO] [stdout] | [INFO] [stdout] 171 | pub const STATUS_TEXT_ERROR: u32 = fmt(0xFF_FF_00_00); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_MARKER` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:176:11 [INFO] [stdout] | [INFO] [stdout] 176 | pub const DEBUG_MARKER: u32 = fmt(0xFE_FF_00_FF); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_LOGO` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:186:11 [INFO] [stdout] | [INFO] [stdout] 186 | pub const FONT_LOGO: &str = "Oxanium"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_UI` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:187:11 [INFO] [stdout] | [INFO] [stdout] 187 | pub const FONT_UI: &str = "Josefin Slab"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_USER_CONTENT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:188:11 [INFO] [stdout] | [INFO] [stdout] 188 | pub const FONT_USER_CONTENT: &str = "Open Sans"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_WEIGHT_USER_CONTENT` is never used [INFO] [stdout] --> src/tutor/ui/theme.rs:189:11 [INFO] [stdout] | [INFO] [stdout] 189 | pub const FONT_WEIGHT_USER_CONTENT: u16 = 400; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_sentences` is never used [INFO] [stdout] --> src/tutor/wiki.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn load_sentences() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 41s [INFO] running `Command { std: "docker" "inspect" "bd3c8d0b4118660a556ded690e3ab6e1fc65ebe14bdceb02d50bcb1735e705ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bd3c8d0b4118660a556ded690e3ab6e1fc65ebe14bdceb02d50bcb1735e705ba", kill_on_drop: false }` [INFO] [stdout] bd3c8d0b4118660a556ded690e3ab6e1fc65ebe14bdceb02d50bcb1735e705ba