[INFO] cloning repository https://github.com/ygrfil/windowarrange
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ygrfil/windowarrange" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fygrfil%2Fwindowarrange", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fygrfil%2Fwindowarrange'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b0f68306fb3bbc4a9454197efcf351966c9dbf77
[INFO] checking ygrfil/windowarrange against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fygrfil%2Fwindowarrange" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/ygrfil/windowarrange
[INFO] finished tweaking git repo https://github.com/ygrfil/windowarrange
[INFO] tweaked toml for git repo https://github.com/ygrfil/windowarrange written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ygrfil/windowarrange on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ygrfil/windowarrange 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1
[INFO] running `Command { std: "docker" "start" "5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling clubgg-table-arranger v0.5.51 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stdout] warning: constant `SIZE` is never used
[INFO] [stdout]  --> assets/icon.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const SIZE: u32 = 32;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BORDER` is never used
[INFO] [stdout]  --> assets/icon.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const BORDER: [u8; 4] = [15, 23, 42, 255];
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACKGROUND` is never used
[INFO] [stdout]  --> assets/icon.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BACKGROUND: [u8; 4] = [37, 99, 235, 255];
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPADE` is never used
[INFO] [stdout]  --> assets/icon.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const SPADE: [u8; 4] = [15, 45, 95, 255];
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]  --> assets/icon.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const WHITE: [u8; 4] = [255, 255, 255, 255];
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPADE_OUTLINE` is never used
[INFO] [stdout]  --> assets/icon.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const SPADE_OUTLINE: [(f32, f32); 18] = [
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgba_pixel` is never used
[INFO] [stdout]   --> assets/icon.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn rgba_pixel(x: u32, y: u32) -> [u8; 4] {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inside_polygon` is never used
[INFO] [stdout]   --> assets/icon.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn inside_polygon(point: (f32, f32), polygon: &[(f32, f32)]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stdout] error: Table Arranger Control supports Windows only
[INFO] [stdout]  --> src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | compile_error!("Table Arranger Control supports Windows only");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `windows` in `os`
[INFO] [stdout]  --> src/win32.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     os::windows::ffi::OsStrExt,
[INFO] [stdout]   |         ^^^^^^^ could not find `windows` in `os`
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/std/src/os/mod.rs:62:4
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated behind the `windows` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crossbeam_channel`
[INFO] [stdout]  --> src/app.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crossbeam_channel::{Receiver, Sender, bounded};
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `crossbeam_channel`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `crossbeam_channel`, use `cargo add crossbeam_channel` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `eframe`
[INFO] [stdout]   --> src/app.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use eframe::egui;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `log`
[INFO] [stdout]   --> src/app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{error, info, warn};
[INFO] [stdout]    |     ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `log`, use `cargo add log` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crossbeam_channel`
[INFO] [stdout]   --> src/controller.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crossbeam_channel::{Receiver, Sender, bounded};
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `crossbeam_channel`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `crossbeam_channel`, use `cargo add crossbeam_channel` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `log`
[INFO] [stdout]   --> src/controller.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, warn};
[INFO] [stdout]    |     ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `log`, use `cargo add log` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crossbeam_channel`
[INFO] [stdout]  --> src/hotkeys.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossbeam_channel::Sender;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `crossbeam_channel`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `crossbeam_channel`, use `cargo add crossbeam_channel` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `eframe`
[INFO] [stdout]  --> src/hotkeys.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use eframe::egui;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `global_hotkey` in this scope
[INFO] [stdout]  --> src/hotkeys.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use global_hotkey::{GlobalHotKeyEvent, GlobalHotKeyManager, HotKeyState, hotkey::HotKey};
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `global_hotkey`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `global_hotkey`, use `cargo add global_hotkey` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `global_hotkey`
[INFO] [stdout]  --> src/hotkeys.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use global_hotkey::{GlobalHotKeyEvent, GlobalHotKeyManager, HotKeyState, hotkey::HotKey};
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `global_hotkey`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `global_hotkey`, use `cargo add global_hotkey` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `log`
[INFO] [stdout]  --> src/logging.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{LevelFilter, Log, Metadata, Record};
[INFO] [stdout]   |     ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `log`, use `cargo add log` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `windows` in this scope
[INFO] [stdout]   --> src/rng_overlay.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use windows::{
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `windows`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `windows`, use `cargo add windows` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `eframe`
[INFO] [stdout]   --> src/rng_overlay.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use eframe::egui;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crossbeam_channel`
[INFO] [stdout]  --> src/tray.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossbeam_channel::Sender;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `crossbeam_channel`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `crossbeam_channel`, use `cargo add crossbeam_channel` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `eframe`
[INFO] [stdout]  --> src/tray.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::egui;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `tray_icon` in this scope
[INFO] [stdout]  --> src/tray.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tray_icon::{
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `tray_icon`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tray_icon`, use `cargo add tray_icon` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tray_icon`
[INFO] [stdout]  --> src/tray.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tray_icon::{
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `tray_icon`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tray_icon`, use `cargo add tray_icon` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `windows` in this scope
[INFO] [stdout]   --> src/win32.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use windows::{
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `windows`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `windows`, use `cargo add windows` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crossbeam_channel`
[INFO] [stdout]   --> src/win32.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crossbeam_channel::Sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `crossbeam_channel`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `crossbeam_channel`, use `cargo add crossbeam_channel` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/config.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `thiserror`
[INFO] [stdout]  --> src/config.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `thiserror`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `thiserror`, use `cargo add thiserror` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/model.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `thiserror`
[INFO] [stdout]  --> src/model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `thiserror`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `thiserror`, use `cargo add thiserror` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]   --> src/rng_overlay.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 log::warn!("could not reposition RnG overlay: {error}");
[INFO] [stdout]    |                 ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]   --> src/rng_overlay.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 log::warn!("could not stop RnG overlay: {error}");
[INFO] [stdout]    |                 ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 log::error!("could not start RnG overlay: {error}");
[INFO] [stdout]     |                 ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         log::warn!("could not save RnG settings: {error}");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |         log::warn!("could not add an RnG settings menu item: {error}");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |         log::warn!("could not add an RnG settings submenu: {error}");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |         log::warn!("could not position RnG overlay: {error}");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         log::warn!("could not create the RnG settings menu");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |         log::warn!("could not create the RnG interval menu");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |         log::warn!("could not create the RnG color menu");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         log::warn!("could not create the RnG size menu");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 351 |         log::warn!("could not create the RnG corner menu");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |             log::warn!("could not add the RnG menu separator: {error}");
[INFO] [stdout]     |             ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:440:9
[INFO] [stdout]     |
[INFO] [stdout] 440 |         log::warn!("could not read the cursor position for the RnG menu: {error}");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:479:17
[INFO] [stdout]     |
[INFO] [stdout] 479 |                 log::warn!("could not close the RnG overlay: {error}");
[INFO] [stdout]     |                 ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:499:9
[INFO] [stdout]     |
[INFO] [stdout] 499 |         log::warn!("could not destroy the RnG settings menu: {error}");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 569 |         log::warn!("could not read the RnG overlay bounds: {error}");
[INFO] [stdout]     |         ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:654:17
[INFO] [stdout]     |
[INFO] [stdout] 654 |                 log::error!("could not load the RnG cursor: {error}");
[INFO] [stdout]     |                 ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:667:13
[INFO] [stdout]     |
[INFO] [stdout] 667 |             log::debug!("RnG window class was already registered or could not be registered");
[INFO] [stdout]     |             ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:689:17
[INFO] [stdout]     |
[INFO] [stdout] 689 |                 log::error!("could not create the RnG overlay window: {error}");
[INFO] [stdout]     |                 ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:702:13
[INFO] [stdout]     |
[INFO] [stdout] 702 |             log::error!("could not enable RnG overlay transparency: {error}");
[INFO] [stdout]     |             ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:708:13
[INFO] [stdout]     |
[INFO] [stdout] 708 |             log::warn!("could not start the RnG interval timer");
[INFO] [stdout]     |             ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]    --> src/rng_overlay.rs:718:21
[INFO] [stdout]     |
[INFO] [stdout] 718 |                     log::error!("RnG overlay message loop failed");
[INFO] [stdout]     |                     ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[serde(rename_all = "snake_case")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:39:3
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[serde(default)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[serde(default)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/config.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 |     #[serde(alias = "reserve_two_slots")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]    --> src/config.rs:274:7
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[error("configuration I/O failed: {0}")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `from` in this scope
[INFO] [stdout]    --> src/config.rs:275:10
[INFO] [stdout]     |
[INFO] [stdout] 275 |     Io(#[from] std::io::Error),
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]    --> src/config.rs:276:7
[INFO] [stdout]     |
[INFO] [stdout] 276 |     #[error("configuration data is invalid: {0}")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `from` in this scope
[INFO] [stdout]    --> src/config.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     Json(#[from] serde_json::Error),
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/model.rs:76:3
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[serde(rename_all = "snake_case")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/model.rs:95:3
[INFO] [stdout]    |
[INFO] [stdout] 95 | #[serde(rename_all = "snake_case")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/model.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[serde(tag = "kind", rename_all = "snake_case")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]    --> src/model.rs:264:7
[INFO] [stdout]     |
[INFO] [stdout] 264 |     #[error("access denied")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]    --> src/model.rs:266:7
[INFO] [stdout]     |
[INFO] [stdout] 266 |     #[error("window no longer exists")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]    --> src/model.rs:268:7
[INFO] [stdout]     |
[INFO] [stdout] 268 |     #[error("{0}")]
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `eframe` in this scope
[INFO] [stdout]     --> src/app.rs:1289:40
[INFO] [stdout]      |
[INFO] [stdout] 1289 |     fn on_exit(&mut self, _gl: Option<&eframe::glow::Context>) {
[INFO] [stdout]      |                                        ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `tray_icon` in this scope
[INFO] [stdout]   --> src/tray.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     tray_icon::Icon::from_rgba(make_rgba(), app_icon::SIZE, app_icon::SIZE)
[INFO] [stdout]    |     ^^^^^^^^^ use of unresolved module or unlinked crate `tray_icon`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tray_icon`, use `cargo add tray_icon` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `windows` in this scope
[INFO] [stdout]    --> src/win32.rs:148:33
[INFO] [stdout]     |
[INFO] [stdout] 148 |         u32::try_from(size_of::<windows::Win32::Graphics::Gdi::BITMAPINFOHEADER>()).ok()?;
[INFO] [stdout]     |                                 ^^^^^^^ use of unresolved module or unlinked crate `windows`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `windows`, use `cargo add windows` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0408]: variable `EVENT_OBJECT_DESTROY` is not bound in all patterns
[INFO] [stdout]    --> src/win32.rs:574:9
[INFO] [stdout]     |
[INFO] [stdout] 574 |         EVENT_OBJECT_CREATE
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_DESTROY`
[INFO] [stdout] 575 |             | EVENT_OBJECT_DESTROY
[INFO] [stdout]     |               -------------------- variable not in all patterns
[INFO] [stdout] 576 |             | EVENT_OBJECT_SHOW
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_DESTROY`
[INFO] [stdout] 577 |             | EVENT_OBJECT_HIDE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_DESTROY`
[INFO] [stdout] 578 |             | EVENT_OBJECT_LOCATIONCHANGE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_DESTROY`
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to match on a unit struct, unit variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::EVENT_OBJECT_DESTROY`
[INFO] [stdout]    --> src/win32.rs:575:15
[INFO] [stdout]     |
[INFO] [stdout] 575 |             | EVENT_OBJECT_DESTROY
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0408]: variable `EVENT_OBJECT_SHOW` is not bound in all patterns
[INFO] [stdout]    --> src/win32.rs:574:9
[INFO] [stdout]     |
[INFO] [stdout] 574 |         EVENT_OBJECT_CREATE
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_SHOW`
[INFO] [stdout] 575 |             | EVENT_OBJECT_DESTROY
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_SHOW`
[INFO] [stdout] 576 |             | EVENT_OBJECT_SHOW
[INFO] [stdout]     |               ----------------- variable not in all patterns
[INFO] [stdout] 577 |             | EVENT_OBJECT_HIDE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_SHOW`
[INFO] [stdout] 578 |             | EVENT_OBJECT_LOCATIONCHANGE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_SHOW`
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to match on a unit struct, unit variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::EVENT_OBJECT_SHOW`
[INFO] [stdout]    --> src/win32.rs:576:15
[INFO] [stdout]     |
[INFO] [stdout] 576 |             | EVENT_OBJECT_SHOW
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0408]: variable `EVENT_OBJECT_HIDE` is not bound in all patterns
[INFO] [stdout]    --> src/win32.rs:574:9
[INFO] [stdout]     |
[INFO] [stdout] 574 |         EVENT_OBJECT_CREATE
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_HIDE`
[INFO] [stdout] 575 |             | EVENT_OBJECT_DESTROY
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_HIDE`
[INFO] [stdout] 576 |             | EVENT_OBJECT_SHOW
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_HIDE`
[INFO] [stdout] 577 |             | EVENT_OBJECT_HIDE
[INFO] [stdout]     |               ----------------- variable not in all patterns
[INFO] [stdout] 578 |             | EVENT_OBJECT_LOCATIONCHANGE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_HIDE`
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to match on a unit struct, unit variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::EVENT_OBJECT_HIDE`
[INFO] [stdout]    --> src/win32.rs:577:15
[INFO] [stdout]     |
[INFO] [stdout] 577 |             | EVENT_OBJECT_HIDE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0408]: variable `EVENT_OBJECT_LOCATIONCHANGE` is not bound in all patterns
[INFO] [stdout]    --> src/win32.rs:574:9
[INFO] [stdout]     |
[INFO] [stdout] 574 |         EVENT_OBJECT_CREATE
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_LOCATIONCHANGE`
[INFO] [stdout] 575 |             | EVENT_OBJECT_DESTROY
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_LOCATIONCHANGE`
[INFO] [stdout] 576 |             | EVENT_OBJECT_SHOW
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_LOCATIONCHANGE`
[INFO] [stdout] 577 |             | EVENT_OBJECT_HIDE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_LOCATIONCHANGE`
[INFO] [stdout] 578 |             | EVENT_OBJECT_LOCATIONCHANGE
[INFO] [stdout]     |               --------------------------- variable not in all patterns
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to match on a unit struct, unit variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::EVENT_OBJECT_LOCATIONCHANGE`
[INFO] [stdout]    --> src/win32.rs:578:15
[INFO] [stdout]     |
[INFO] [stdout] 578 |             | EVENT_OBJECT_LOCATIONCHANGE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0408]: variable `EVENT_OBJECT_CREATE` is not bound in all patterns
[INFO] [stdout]    --> src/win32.rs:575:15
[INFO] [stdout]     |
[INFO] [stdout] 574 |         EVENT_OBJECT_CREATE
[INFO] [stdout]     |         ------------------- variable not in all patterns
[INFO] [stdout] 575 |             | EVENT_OBJECT_DESTROY
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_CREATE`
[INFO] [stdout] 576 |             | EVENT_OBJECT_SHOW
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_CREATE`
[INFO] [stdout] 577 |             | EVENT_OBJECT_HIDE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_CREATE`
[INFO] [stdout] 578 |             | EVENT_OBJECT_LOCATIONCHANGE
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ pattern doesn't bind `EVENT_OBJECT_CREATE`
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to match on a unit struct, unit variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::EVENT_OBJECT_CREATE`
[INFO] [stdout]    --> src/win32.rs:574:9
[INFO] [stdout]     |
[INFO] [stdout] 574 |         EVENT_OBJECT_CREATE
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `crossbeam_channel` in this scope
[INFO] [stdout]    --> src/controller.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 Err(crossbeam_channel::RecvTimeoutError::Disconnected) => break,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `crossbeam_channel`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `crossbeam_channel`, use `cargo add crossbeam_channel` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing one of these enums
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::sync::mpsc::RecvTimeoutError;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::sync::oneshot::RecvTimeoutError;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `RecvTimeoutError`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 164 -                 Err(crossbeam_channel::RecvTimeoutError::Disconnected) => break,
[INFO] [stdout] 164 +                 Err(RecvTimeoutError::Disconnected) => break,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `crossbeam_channel` in this scope
[INFO] [stdout]    --> src/controller.rs:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 Err(crossbeam_channel::RecvTimeoutError::Timeout) => {}
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `crossbeam_channel`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `crossbeam_channel`, use `cargo add crossbeam_channel` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing one of these enums
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::sync::mpsc::RecvTimeoutError;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::sync::oneshot::RecvTimeoutError;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `RecvTimeoutError`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 165 -                 Err(crossbeam_channel::RecvTimeoutError::Timeout) => {}
[INFO] [stdout] 165 +                 Err(RecvTimeoutError::Timeout) => {}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `str::FromStr`
[INFO] [stdout]  --> src/hotkeys.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, str::FromStr};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `eframe` in this scope
[INFO] [stdout]    --> src/app.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let options = eframe::NativeOptions {
[INFO] [stdout]     |                   ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `eframe` in this scope
[INFO] [stdout]    --> src/app.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let result = eframe::run_native(
[INFO] [stdout]     |                  ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `eframe` in this scope
[INFO] [stdout]    --> src/app.rs:210:20
[INFO] [stdout]     |
[INFO] [stdout] 210 |         creation: &eframe::CreationContext<'_>,
[INFO] [stdout]     |                    ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `eframe` in this scope
[INFO] [stdout]     --> src/app.rs:1270:6
[INFO] [stdout]      |
[INFO] [stdout] 1270 | impl eframe::App for TableArrangerApp {
[INFO] [stdout]      |      ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `eframe` in this scope
[INFO] [stdout]     --> src/app.rs:1271:63
[INFO] [stdout]      |
[INFO] [stdout] 1271 |     fn logic(&mut self, context: &egui::Context, _frame: &mut eframe::Frame) {
[INFO] [stdout]      |                                                               ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `eframe` in this scope
[INFO] [stdout]     --> src/app.rs:1275:54
[INFO] [stdout]      |
[INFO] [stdout] 1275 |     fn ui(&mut self, ui: &mut egui::Ui, _frame: &mut eframe::Frame) {
[INFO] [stdout]      |                                                      ^^^^^^ use of unresolved module or unlinked crate `eframe`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `eframe`, use `cargo add eframe` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/config.rs:213:37
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let mut config: AppConfig = serde_json::from_str(&contents)?;
[INFO] [stdout]     |                                     ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/config.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let serialized = serde_json::to_string_pretty(config)?;
[INFO] [stdout]     |                          ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `serde_json` in this scope
[INFO] [stdout]    --> src/config.rs:277:18
[INFO] [stdout]     |
[INFO] [stdout] 277 |     Json(#[from] serde_json::Error),
[INFO] [stdout]     |                  ^^^^^^^^^^ use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `serde_json`, use `cargo add serde_json` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]   --> src/logging.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     log::set_logger(&LOGGER).map_err(|error| error.to_string())?;
[INFO] [stdout]    |     ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `log`, use `cargo add log` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `log` in this scope
[INFO] [stdout]   --> src/logging.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     log::set_max_level(LevelFilter::Info);
[INFO] [stdout]    |     ^^^ use of unresolved module or unlinked crate `log`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `log`, use `cargo add log` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `tray_icon` in this scope
[INFO] [stdout]   --> src/tray.rs:77:26
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn make_icon() -> Result<tray_icon::Icon, String> {
[INFO] [stdout]    |                          ^^^^^^^^^ use of unresolved module or unlinked crate `tray_icon`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tray_icon`, use `cargo add tray_icon` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0408, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0408`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `clubgg-table-arranger` (lib) due to 83 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1", kill_on_drop: false }`
[INFO] [stdout] 5814abdf0a904c3f863113430eb7fdfb6c8727a62ef8b6edd06315b2abfa14e1
