[INFO] cloning repository https://github.com/BigBuildBench/mxve_alterware-launcher
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BigBuildBench/mxve_alterware-launcher" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigBuildBench%2Fmxve_alterware-launcher", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigBuildBench%2Fmxve_alterware-launcher'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7fff31e76bd7b0e109ac6a9fe276b15d9b2eeccc
[INFO] checking BigBuildBench/mxve_alterware-launcher against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigBuildBench%2Fmxve_alterware-launcher" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BigBuildBench/mxve_alterware-launcher
[INFO] finished tweaking git repo https://github.com/BigBuildBench/mxve_alterware-launcher
[INFO] tweaked toml for git repo https://github.com/BigBuildBench/mxve_alterware-launcher written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BigBuildBench/mxve_alterware-launcher on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 119 packages to latest compatible versions
[INFO] [stderr]       Adding steamlocate v2.0.0-beta.2 (available: v2.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 76738335be67d32eec6878942ac5e859b65a871a8a7581d8e92498cb7bf0e253
[INFO] running `Command { std: "docker" "start" "-a" "76738335be67d32eec6878942ac5e859b65a871a8a7581d8e92498cb7bf0e253", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "76738335be67d32eec6878942ac5e859b65a871a8a7581d8e92498cb7bf0e253", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76738335be67d32eec6878942ac5e859b65a871a8a7581d8e92498cb7bf0e253", kill_on_drop: false }`
[INFO] [stdout] 76738335be67d32eec6878942ac5e859b65a871a8a7581d8e92498cb7bf0e253
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ce73075cbefea6260c571663526642a9d2ebfc79e2e6307d72fd182156af9be
[INFO] running `Command { std: "docker" "start" "-a" "8ce73075cbefea6260c571663526642a9d2ebfc79e2e6307d72fd182156af9be", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling cc v1.2.43
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling openssl v0.10.74
[INFO] [stderr]    Compiling static_vcruntime v2.0.0
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking sdd v3.0.10
[INFO] [stderr]     Checking vte v0.14.1
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking scc v2.4.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking strip-ansi-escapes v0.2.1
[INFO] [stderr]    Compiling openssl-src v300.5.4+3.5.4
[INFO] [stderr]    Compiling openssl-sys v0.9.110
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling winresource v0.1.23
[INFO] [stderr]    Compiling alterware-launcher v0.8.4 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0463]: can't find crate for `simple_log`
[INFO] [stdout]   --> src/main.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | extern crate simple_log;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `simple_log`
[INFO] [stdout]   --> src/main.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | extern crate simple_log;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `semver`
[INFO] [stdout]  --> src/github.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use semver::Version;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `semver`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `semver`, use `cargo add semver` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `once_cell`
[INFO] [stdout]  --> src/global.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `once_cell`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `once_cell`, use `cargo add once_cell` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `colored`
[INFO] [stdout]  --> src/global.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `colored`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `colored`, use `cargo add colored` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures_util`
[INFO] [stdout]  --> src/http_async.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `indicatif`
[INFO] [stdout]  --> src/http_async.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use indicatif::ProgressBar;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `indicatif`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `indicatif`, use `cargo add indicatif` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `reqwest`
[INFO] [stdout]  --> src/http_async.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `reqwest`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `reqwest`, use `cargo add reqwest` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `indicatif`
[INFO] [stdout]  --> src/misc.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use indicatif::{ProgressBar, ProgressStyle};
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `indicatif`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `indicatif`, use `cargo add indicatif` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]    --> src/misc.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     use rand::Rng;
[INFO] [stdout]     |         ^^^^ help: a similar path exists: `openssl::rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `semver`
[INFO] [stdout]  --> src/self_update.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use semver::Version;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `semver`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `semver`, use `cargo add semver` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `colored`
[INFO] [stdout]  --> src/structs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::ColoredString;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `colored`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `colored`, use `cargo add colored` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `colored`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use colored::Colorize;
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `colored`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `colored`, use `cargo add colored` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `indicatif`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use indicatif::ProgressBar;
[INFO] [stdout]    |     ^^^^^^^^^ use of unresolved module or unlinked crate `indicatif`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `indicatif`, use `cargo add indicatif` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]  --> src/structs.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(serde::Deserialize, serde::Serialize, Clone)]
[INFO] [stdout]   |          ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]  --> src/structs.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(serde::Deserialize, serde::Serialize, Clone)]
[INFO] [stdout]   |                              ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(serde::Deserialize, serde::Serialize)]
[INFO] [stdout]    |          ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(serde::Deserialize, serde::Serialize)]
[INFO] [stdout]    |                              ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(serde::Deserialize, serde::Serialize, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(serde::Deserialize, serde::Serialize, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                              ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 | #[derive(serde::Deserialize, serde::Serialize, Default, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 | #[derive(serde::Deserialize, serde::Serialize, Default, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                              ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    --> src/main.rs:577:3
[INFO] [stdout]     |
[INFO] [stdout] 577 | #[tokio::main]
[INFO] [stdout]     |   ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `semver`
[INFO] [stdout]  --> src/github.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use semver::Version;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `semver`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `semver`, use `cargo add semver` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `once_cell`
[INFO] [stdout]  --> src/global.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `once_cell`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `once_cell`, use `cargo add once_cell` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `colored`
[INFO] [stdout]  --> src/global.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `colored`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `colored`, use `cargo add colored` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures_util`
[INFO] [stdout]  --> src/http_async.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `indicatif`
[INFO] [stdout]  --> src/http_async.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use indicatif::ProgressBar;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `indicatif`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `indicatif`, use `cargo add indicatif` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `reqwest`
[INFO] [stdout]  --> src/http_async.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `reqwest`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `reqwest`, use `cargo add reqwest` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `indicatif`
[INFO] [stdout]  --> src/misc.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use indicatif::{ProgressBar, ProgressStyle};
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `indicatif`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `indicatif`, use `cargo add indicatif` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]    --> src/misc.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     use rand::Rng;
[INFO] [stdout]     |         ^^^^ help: a similar path exists: `openssl::rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `semver`
[INFO] [stdout]  --> src/self_update.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use semver::Version;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `semver`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `semver`, use `cargo add semver` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `colored`
[INFO] [stdout]  --> src/structs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::ColoredString;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `colored`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `colored`, use `cargo add colored` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `colored`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use colored::Colorize;
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `colored`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `colored`, use `cargo add colored` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `indicatif`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use indicatif::ProgressBar;
[INFO] [stdout]    |     ^^^^^^^^^ use of unresolved module or unlinked crate `indicatif`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `indicatif`, use `cargo add indicatif` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]  --> src/structs.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(serde::Deserialize, serde::Serialize, Clone)]
[INFO] [stdout]   |          ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]  --> src/structs.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(serde::Deserialize, serde::Serialize, Clone)]
[INFO] [stdout]   |                              ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(serde::Deserialize, serde::Serialize)]
[INFO] [stdout]    |          ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(serde::Deserialize, serde::Serialize)]
[INFO] [stdout]    |                              ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(serde::Deserialize, serde::Serialize, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(serde::Deserialize, serde::Serialize, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                              ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 | #[derive(serde::Deserialize, serde::Serialize, Default, PartialEq, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   --> src/structs.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 | #[derive(serde::Deserialize, serde::Serialize, Default, PartialEq, Debug, Clone)]
[INFO] [stdout]    |                              ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    --> src/main.rs:577:3
[INFO] [stdout]     |
[INFO] [stdout] 577 | #[tokio::main]
[INFO] [stdout]     |   ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/misc.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         error!($($arg)*);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/config.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |             _ => crate::println_error!("Error while saving config {}", e.to_string()),
[INFO] [stdout]    |                  -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/misc.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |           error!($($arg)*);
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/github.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 | /             crate::println_error!(
[INFO] [stdout] 32 | |                 "Failed to get latest version for {owner}/{repo}, assuming we are up to date."
[INFO] [stdout] 33 | |             );
[INFO] [stdout]    | |_____________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/http_async.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     info!("{msg}");
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `debug` in this scope
[INFO] [stdout]   --> src/http_async.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     debug!("{} {url}", res.status());
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/misc.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         error!($($arg)*);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/iw4x.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |             crate::println_error!("Failed to get latest version for {GH_IW4X_OWNER}/{GH_IW4X_REPO}, assuming we are up to date.");
[INFO] [stdout]    |             --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/misc.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         info!($($arg)*);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/iw4x.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         crate::println_info!("No files to download for IW4x");
[INFO] [stdout]    |         ----------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/misc.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         info!($($arg)*);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/iw4x.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     crate::println_info!("Downloading outdated or missing files for IW4x",);
[INFO] [stdout]    |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |         println_error!("Failed to save cache: {}", e);
[INFO] [stdout]     |         --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/misc.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         info!($($arg)*);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/self_update.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         crate::println_info!("A new version of the AlterWare launcher is available.");
[INFO] [stdout]    |         ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/misc.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |           info!($($arg)*);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/self_update.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | /         crate::println_info!(
[INFO] [stdout] 18 | |             "Download it at {}",
[INFO] [stdout] 19 | |             github::latest_release_url(GH_OWNER, GH_REPO)
[INFO] [stdout] 20 | |         );
[INFO] [stdout]    | |_________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/misc.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         error!($($arg)*);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/structs.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 crate::println_error!("Required file {} does not exist", file_path.display());
[INFO] [stdout]    |                 ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/structs.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/structs.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/structs.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/main.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 info!("{msg}");
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/main.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         info!("{msg}");
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/main.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     info!("{msg}");
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/misc.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         error!($($arg)*);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/config.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |             _ => crate::println_error!("Error while saving config {}", e.to_string()),
[INFO] [stdout]    |                  -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:287:17
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 println_error!("{err}");
[INFO] [stdout]     |                 ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/main.rs:291:21
[INFO] [stdout]     |
[INFO] [stdout] 291 |                     error!("Download for file {file_name} failed with {err}");
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `warn` in this scope
[INFO] [stdout]    --> src/main.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     warn!(
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `warn` is in scope, but it is an attribute: `#[warn]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 | ...   println_error!("Downloaded file hash does not match remote!\nRemote {remote}, local {local_hash}, {}\nIf this issue persists please try again in 15 minutes.", file_path.cute_path());
[INFO] [stdout]     |       ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/misc.rs:59:9
[INFO] [stdout]     |
[INFO] [stdout]  59 |           info!($($arg)*);
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 | /                     println_info!(
[INFO] [stdout] 308 | |                         "Retrying download for {} due to hash mismatch",
[INFO] [stdout] 309 | |                         file_path.cute_path()
[INFO] [stdout] 310 | |                     );
[INFO] [stdout]     | |_____________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:325:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 crate::println_error!("Error setting permissions for {file_name}: {error}");
[INFO] [stdout]     |                 --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/misc.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |           error!($($arg)*);
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/github.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 | /             crate::println_error!(
[INFO] [stdout] 32 | |                 "Failed to get latest version for {owner}/{repo}, assuming we are up to date."
[INFO] [stdout] 33 | |             );
[INFO] [stdout]    | |_____________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:364:21
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     crate::println_error!("Error removing {f}: {error}");
[INFO] [stdout]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/misc.rs:59:9
[INFO] [stdout]     |
[INFO] [stdout]  59 |           info!($($arg)*);
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:416:25
[INFO] [stdout]     |
[INFO] [stdout] 416 | /                         crate::println_info!(
[INFO] [stdout] 417 | |                             "{}{}",
[INFO] [stdout] 418 | |                             misc::prefix("removed"),
[INFO] [stdout] 419 | |                             file_path.cute_path()
[INFO] [stdout] 420 | |                         );
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |           error!($($arg)*);
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:423:29
[INFO] [stdout]     |
[INFO] [stdout] 423 | / ...                   crate::println_error!(
[INFO] [stdout] 424 | | ...                       "{}Couldn't delete {}",
[INFO] [stdout] 425 | | ...                       misc::prefix("error"),
[INFO] [stdout] 426 | | ...                       file_path.cute_path()
[INFO] [stdout] 427 | | ...                   );
[INFO] [stdout]     | |_______________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/http_async.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     info!("{msg}");
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/misc.rs:59:9
[INFO] [stdout]     |
[INFO] [stdout]  59 |         info!($($arg)*);
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 503 |     crate::println_info!("Launching {} {args}", file_path.display());
[INFO] [stdout]     |     ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 523 |     crate::println_error!("Game exited with {exit_status}");
[INFO] [stdout]     |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `debug` in this scope
[INFO] [stdout]   --> src/http_async.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     debug!("{} {url}", res.status());
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:719:17
[INFO] [stdout]     |
[INFO] [stdout] 719 |                 crate::println_error!("Failed to get games.json: {:#?}", error);
[INFO] [stdout]     |                 --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:724:9
[INFO] [stdout]     |
[INFO] [stdout] 724 |         crate::println_error!("Error parsing games.json: {:#?}", error);
[INFO] [stdout]     |         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:822:5
[INFO] [stdout]     |
[INFO] [stdout] 822 |     crate::println_error!("Game not found!");
[INFO] [stdout]     |     ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/misc.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         error!($($arg)*);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/iw4x.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |             crate::println_error!("Failed to get latest version for {GH_IW4X_OWNER}/{GH_IW4X_REPO}, assuming we are up to date.");
[INFO] [stdout]    |             --------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/misc.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         info!($($arg)*);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/iw4x.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         crate::println_info!("No files to download for IW4x");
[INFO] [stdout]    |         ----------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/misc.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         info!($($arg)*);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/iw4x.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     crate::println_info!("Downloading outdated or missing files for IW4x",);
[INFO] [stdout]    |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |         println_error!("Failed to save cache: {}", e);
[INFO] [stdout]     |         --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/misc.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         info!($($arg)*);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/self_update.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         crate::println_info!("A new version of the AlterWare launcher is available.");
[INFO] [stdout]    |         ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]   --> src/misc.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |           info!($($arg)*);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/self_update.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | /         crate::println_info!(
[INFO] [stdout] 18 | |             "Download it at {}",
[INFO] [stdout] 19 | |             github::latest_release_url(GH_OWNER, GH_REPO)
[INFO] [stdout] 20 | |         );
[INFO] [stdout]    | |_________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> src/misc.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         error!($($arg)*);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/structs.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 crate::println_error!("Required file {} does not exist", file_path.display());
[INFO] [stdout]    |                 ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/structs.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/structs.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/structs.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[serde(default)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/main.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 info!("{msg}");
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/main.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         info!("{msg}");
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/self_update.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         tokio::time::sleep(tokio::time::Duration::from_secs(10)).await;
[INFO] [stdout]    |         ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/main.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     info!("{msg}");
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:287:17
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 println_error!("{err}");
[INFO] [stdout]     |                 ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/main.rs:291:21
[INFO] [stdout]     |
[INFO] [stdout] 291 |                     error!("Download for file {file_name} failed with {err}");
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `warn` in this scope
[INFO] [stdout]    --> src/main.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     warn!(
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `warn` is in scope, but it is an attribute: `#[warn]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 | ...   println_error!("Downloaded file hash does not match remote!\nRemote {remote}, local {local_hash}, {}\nIf this issue persists please try again in 15 minutes.", file_path.cute_path());
[INFO] [stdout]     |       ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `reqwest`
[INFO] [stdout]    --> src/main.rs:259:18
[INFO] [stdout]     |
[INFO] [stdout] 259 |     let client = reqwest::Client::new();
[INFO] [stdout]     |                  ^^^^^^^ use of unresolved module or unlinked crate `reqwest`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `reqwest`, use `cargo add reqwest` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/misc.rs:59:9
[INFO] [stdout]     |
[INFO] [stdout]  59 |           info!($($arg)*);
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 | /                     println_info!(
[INFO] [stdout] 308 | |                         "Retrying download for {} due to hash mismatch",
[INFO] [stdout] 309 | |                         file_path.cute_path()
[INFO] [stdout] 310 | |                     );
[INFO] [stdout]     | |_____________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:325:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 crate::println_error!("Error setting permissions for {file_name}: {error}");
[INFO] [stdout]     |                 --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:364:21
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     crate::println_error!("Error removing {f}: {error}");
[INFO] [stdout]     |                     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/misc.rs:59:9
[INFO] [stdout]     |
[INFO] [stdout]  59 |           info!($($arg)*);
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:416:25
[INFO] [stdout]     |
[INFO] [stdout] 416 | /                         crate::println_info!(
[INFO] [stdout] 417 | |                             "{}{}",
[INFO] [stdout] 418 | |                             misc::prefix("removed"),
[INFO] [stdout] 419 | |                             file_path.cute_path()
[INFO] [stdout] 420 | |                         );
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |           error!($($arg)*);
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:423:29
[INFO] [stdout]     |
[INFO] [stdout] 423 | / ...                   crate::println_error!(
[INFO] [stdout] 424 | | ...                       "{}Couldn't delete {}",
[INFO] [stdout] 425 | | ...                       misc::prefix("error"),
[INFO] [stdout] 426 | | ...                       file_path.cute_path()
[INFO] [stdout] 427 | | ...                   );
[INFO] [stdout]     | |_______________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `info` in this scope
[INFO] [stdout]    --> src/misc.rs:59:9
[INFO] [stdout]     |
[INFO] [stdout]  59 |         info!($($arg)*);
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 503 |     crate::println_info!("Launching {} {args}", file_path.display());
[INFO] [stdout]     |     ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `blake3`
[INFO] [stdout]   --> src/extend.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut hasher = blake3::Hasher::new();
[INFO] [stdout]    |                      ^^^^^^ use of unresolved module or unlinked crate `blake3`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `blake3`, use `cargo add blake3` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::hash::Hasher;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use openssl::hash::Hasher;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Hasher`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 10 -     let mut hasher = blake3::Hasher::new();
[INFO] [stdout] 10 +     let mut hasher = Hasher::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 523 |     crate::println_error!("Game exited with {exit_status}");
[INFO] [stdout]     |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/self_update.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |         tokio::time::sleep(tokio::time::Duration::from_secs(10)).await;
[INFO] [stdout]    |                            ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Duration`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 22 -         tokio::time::sleep(tokio::time::Duration::from_secs(10)).await;
[INFO] [stdout] 22 +         tokio::time::sleep(Duration::from_secs(10)).await;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:719:17
[INFO] [stdout]     |
[INFO] [stdout] 719 |                 crate::println_error!("Failed to get games.json: {:#?}", error);
[INFO] [stdout]     |                 --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:724:9
[INFO] [stdout]     |
[INFO] [stdout] 724 |         crate::println_error!("Error parsing games.json: {:#?}", error);
[INFO] [stdout]     |         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/misc.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout]  67 |         error!($($arg)*);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:822:5
[INFO] [stdout]     |
[INFO] [stdout] 822 |     crate::println_error!("Game not found!");
[INFO] [stdout]     |     ---------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `crate::println_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   --> src/github.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let github_json: serde_json::Value = serde_json::from_str(&github_body)?;
[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[E0282]: type annotations needed
[INFO] [stdout]   --> src/github.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |         if let Some(tag_name_str) = tag_name.as_str() {
[INFO] [stdout]    |                                     ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/github.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |             return Ok(tag_name_str.to_string().replace('"', ""));
[INFO] [stdout]    |                       ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |       let res = client
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 21 | |         .get(url)
[INFO] [stdout] 22 | |         .header(
[INFO] [stdout] 23 | |             "User-Agent",
[INFO] [stdout] ...  |
[INFO] [stdout] 30 | |         .send()
[INFO] [stdout] 31 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let chunk = item.map_err(|e| format!("Error while downloading file: {e}"))?;
[INFO] [stdout]    |                     ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/self_update.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         tokio::time::sleep(tokio::time::Duration::from_secs(10)).await;
[INFO] [stdout]    |         ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `reqwest`
[INFO] [stdout]    --> src/main.rs:259:18
[INFO] [stdout]     |
[INFO] [stdout] 259 |     let client = reqwest::Client::new();
[INFO] [stdout]     |                  ^^^^^^^ use of unresolved module or unlinked crate `reqwest`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `reqwest`, use `cargo add reqwest` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 |       let res = client
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 75 | |         .get(url)
[INFO] [stdout] 76 | |         .header(
[INFO] [stdout] 77 | |             "User-Agent",
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |         .send()
[INFO] [stdout] 85 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | /     res.bytes()
[INFO] [stdout] 91 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 |         .map(|b| b.to_vec())
[INFO] [stdout]    |               ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 92 |         .map(|b: /* Type */| b.to_vec())
[INFO] [stdout]    |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `blake3`
[INFO] [stdout]   --> src/extend.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut hasher = blake3::Hasher::new();
[INFO] [stdout]    |                      ^^^^^^ use of unresolved module or unlinked crate `blake3`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `blake3`, use `cargo add blake3` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::hash::Hasher;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use openssl::hash::Hasher;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Hasher`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 10 -     let mut hasher = blake3::Hasher::new();
[INFO] [stdout] 10 +     let mut hasher = Hasher::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/self_update.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |         tokio::time::sleep(tokio::time::Duration::from_secs(10)).await;
[INFO] [stdout]    |                            ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Duration`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 22 -         tokio::time::sleep(tokio::time::Duration::from_secs(10)).await;
[INFO] [stdout] 22 +         tokio::time::sleep(Duration::from_secs(10)).await;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    --> src/main.rs:347:34
[INFO] [stdout]     |
[INFO] [stdout] 347 |     let cdn_info: Vec<CdnFile> = serde_json::from_str(&res).unwrap();
[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[E0599]: no method named `bright_red` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:352:44
[INFO] [stdout]     |
[INFO] [stdout] 352 |             "Critical game files missing.".bright_red()
[INFO] [stdout]     |                                            ^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   --> src/github.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let github_json: serde_json::Value = serde_json::from_str(&github_body)?;
[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[E0282]: type annotations needed
[INFO] [stdout]   --> src/github.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |         if let Some(tag_name_str) = tag_name.as_str() {
[INFO] [stdout]    |                                     ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/github.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |             return Ok(tag_name_str.to_string().replace('"', ""));
[INFO] [stdout]    |                       ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |       let res = client
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 21 | |         .get(url)
[INFO] [stdout] 22 | |         .header(
[INFO] [stdout] 23 | |             "User-Agent",
[INFO] [stdout] ...  |
[INFO] [stdout] 30 | |         .send()
[INFO] [stdout] 31 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_green` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:626:34
[INFO] [stdout]     |
[INFO] [stdout] 626 |             "AlterWare Launcher".bright_green(),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let chunk = item.map_err(|e| format!("Error while downloading file: {e}"))?;
[INFO] [stdout]    |                     ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `on_black` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:632:20
[INFO] [stdout]     |
[INFO] [stdout] 632 |             "For ".on_black(),
[INFO] [stdout]     |                    ^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 |       let res = client
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 75 | |         .get(url)
[INFO] [stdout] 76 | |         .header(
[INFO] [stdout] 77 | |             "User-Agent",
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |         .send()
[INFO] [stdout] 85 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_blue` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:633:21
[INFO] [stdout]     |
[INFO] [stdout] 633 |             "Alter".bright_blue().on_black().underline(),
[INFO] [stdout]     |                     ^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | /     res.bytes()
[INFO] [stdout] 91 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/http_async.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 |         .map(|b| b.to_vec())
[INFO] [stdout]    |               ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 92 |         .map(|b: /* Type */| b.to_vec())
[INFO] [stdout]    |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `white` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:634:20
[INFO] [stdout]     |
[INFO] [stdout] 634 |             "Ware".white().on_black().underline(),
[INFO] [stdout]     |                    ^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `on_black` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:635:20
[INFO] [stdout]     |
[INFO] [stdout] 635 |             ".dev".on_black().underline(),
[INFO] [stdout]     |                    ^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `on_black` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:636:20
[INFO] [stdout]     |
[INFO] [stdout] 636 |             " by ".on_black(),
[INFO] [stdout]     |                    ^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_magenta` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:637:20
[INFO] [stdout]     |
[INFO] [stdout] 637 |             "mxve".bright_magenta().on_black().underline(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    --> src/main.rs:347:34
[INFO] [stdout]     |
[INFO] [stdout] 347 |     let cdn_info: Vec<CdnFile> = serde_json::from_str(&res).unwrap();
[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[E0599]: no method named `on_black` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:638:19
[INFO] [stdout]     |
[INFO] [stdout] 638 |             ".de".on_black().underline()
[INFO] [stdout]     |                   ^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    --> src/main.rs:723:28
[INFO] [stdout]     |
[INFO] [stdout] 723 |     let games: Vec<Game> = serde_json::from_str(&games_json).unwrap_or_else(|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[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]    --> src/main.rs:578:1
[INFO] [stdout]     |
[INFO] [stdout] 578 | async fn main() {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]  --> src/config.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let cfg: Config = serde_json::from_str(&cfg).unwrap_or(Config::default());
[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]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   --> src/config.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         serde_json::to_string_pretty(&config).unwrap(),
[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[E0599]: no method named `bright_red` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:352:44
[INFO] [stdout]     |
[INFO] [stdout] 352 |             "Critical game files missing.".bright_red()
[INFO] [stdout]     |                                            ^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_magenta` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 text: "Info".bright_magenta(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_yellow` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:27:37
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 text: "Downloading".bright_yellow(),
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_blue` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 text: "Checked".bright_blue(),
[INFO] [stdout]    |                                 ^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_green` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:626:34
[INFO] [stdout]     |
[INFO] [stdout] 626 |             "AlterWare Launcher".bright_green(),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_red` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:41:33
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 text: "Removed".bright_red(),
[INFO] [stdout]    |                                 ^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `on_black` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:632:20
[INFO] [stdout]     |
[INFO] [stdout] 632 |             "For ".on_black(),
[INFO] [stdout]     |                    ^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `red` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 text: "Error".red(),
[INFO] [stdout]    |                               ^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/misc.rs:140:48
[INFO] [stdout]     |
[INFO] [stdout] 140 |         .map_or_else(|| tag_name.to_string(), |tag| tag.formatted())
[INFO] [stdout]     |                                                ^^^  --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 140 |         .map_or_else(|| tag_name.to_string(), |tag: /* Type */| tag.formatted())
[INFO] [stdout]     |                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    --> src/misc.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         serde_json::from_str(&cache_content).unwrap_or_default()
[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]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    --> src/misc.rs:155:28
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let cache_serialized = serde_json::to_string_pretty(&cache).unwrap();
[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]: failed to resolve: use of unresolved module or unlinked crate `rand`
[INFO] [stdout]    --> src/misc.rs:163:19
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |                   ^^^^ use of unresolved module or unlinked crate `rand`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_blue` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:633:21
[INFO] [stdout]     |
[INFO] [stdout] 633 |             "Alter".bright_blue().on_black().underline(),
[INFO] [stdout]     |                     ^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `white` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:634:20
[INFO] [stdout]     |
[INFO] [stdout] 634 |             "Ware".white().on_black().underline(),
[INFO] [stdout]     |                    ^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `on_black` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:635:20
[INFO] [stdout]     |
[INFO] [stdout] 635 |             ".dev".on_black().underline(),
[INFO] [stdout]     |                    ^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `on_black` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:636:20
[INFO] [stdout]     |
[INFO] [stdout] 636 |             " by ".on_black(),
[INFO] [stdout]     |                    ^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   --> src/github.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let github_json: serde_json::Value = serde_json::from_str(&github_body)?;
[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] Some errors have detailed explanations: E0282, E0432, E0433, E0463, E0599, E0752.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_magenta` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:637:20
[INFO] [stdout]     |
[INFO] [stdout] 637 |             "mxve".bright_magenta().on_black().underline(),
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `alterware-launcher` (bin "alterware-launcher") due to 89 previous errors
[INFO] [stdout] error[E0599]: no method named `on_black` found for reference `&'static str` in the current scope
[INFO] [stdout]    --> src/main.rs:638:19
[INFO] [stdout]     |
[INFO] [stdout] 638 |             ".de".on_black().underline()
[INFO] [stdout]     |                   ^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    --> src/main.rs:723:28
[INFO] [stdout]     |
[INFO] [stdout] 723 |     let games: Vec<Game> = serde_json::from_str(&games_json).unwrap_or_else(|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]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]  --> src/config.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let cfg: Config = serde_json::from_str(&cfg).unwrap_or(Config::default());
[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]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   --> src/config.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         serde_json::to_string_pretty(&config).unwrap(),
[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[E0599]: no method named `bright_magenta` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 text: "Info".bright_magenta(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_yellow` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:27:37
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 text: "Downloading".bright_yellow(),
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_blue` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 text: "Checked".bright_blue(),
[INFO] [stdout]    |                                 ^^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `bright_red` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:41:33
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 text: "Removed".bright_red(),
[INFO] [stdout]    |                                 ^^^^^^^^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `red` found for reference `&'static str` in the current scope
[INFO] [stdout]   --> src/global.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 text: "Error".red(),
[INFO] [stdout]    |                               ^^^ method not found in `&'static str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/misc.rs:140:48
[INFO] [stdout]     |
[INFO] [stdout] 140 |         .map_or_else(|| tag_name.to_string(), |tag| tag.formatted())
[INFO] [stdout]     |                                                ^^^  --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 140 |         .map_or_else(|| tag_name.to_string(), |tag: /* Type */| tag.formatted())
[INFO] [stdout]     |                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    --> src/misc.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         serde_json::from_str(&cache_content).unwrap_or_default()
[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]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]    --> src/misc.rs:155:28
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let cache_serialized = serde_json::to_string_pretty(&cache).unwrap();
[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]: failed to resolve: use of unresolved module or unlinked crate `rand`
[INFO] [stdout]    --> src/misc.rs:163:19
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |                   ^^^^ use of unresolved module or unlinked crate `rand`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde_json`
[INFO] [stdout]   --> src/github.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let github_json: serde_json::Value = serde_json::from_str(&github_body)?;
[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] Some errors have detailed explanations: E0282, E0432, E0433, E0463, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `alterware-launcher` (bin "alterware-launcher" test) due to 88 previous errors
[INFO] running `Command { std: "docker" "inspect" "8ce73075cbefea6260c571663526642a9d2ebfc79e2e6307d72fd182156af9be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ce73075cbefea6260c571663526642a9d2ebfc79e2e6307d72fd182156af9be", kill_on_drop: false }`
[INFO] [stdout] 8ce73075cbefea6260c571663526642a9d2ebfc79e2e6307d72fd182156af9be
