[INFO] cloning repository https://github.com/abhilash-sunkara/rust_weather_app
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/abhilash-sunkara/rust_weather_app" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabhilash-sunkara%2Frust_weather_app", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabhilash-sunkara%2Frust_weather_app'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 52a61d171aac1a63f61f16b98d9cb215d008c912
[INFO] checking abhilash-sunkara/rust_weather_app/52a61d171aac1a63f61f16b98d9cb215d008c912 against master#3f6250a7bb79e600d9036bbc7c8f65af43933643 for pr-147859
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabhilash-sunkara%2Frust_weather_app" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/abhilash-sunkara/rust_weather_app
[INFO] finished tweaking git repo https://github.com/abhilash-sunkara/rust_weather_app
[INFO] tweaked toml for git repo https://github.com/abhilash-sunkara/rust_weather_app written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/abhilash-sunkara/rust_weather_app on toolchain 3f6250a7bb79e600d9036bbc7c8f65af43933643
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/abhilash-sunkara/rust_weather_app already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ratatui v0.28.0
[INFO] [stderr]   Downloaded reqwest v0.12.4
[INFO] [stderr]   Downloaded cc v1.0.99
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a7534eb4a2d567d0f0fcac663683a3618299690b4a14ed3c735cab0a233a8d17
[INFO] running `Command { std: "docker" "start" "-a" "a7534eb4a2d567d0f0fcac663683a3618299690b4a14ed3c735cab0a233a8d17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a7534eb4a2d567d0f0fcac663683a3618299690b4a14ed3c735cab0a233a8d17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7534eb4a2d567d0f0fcac663683a3618299690b4a14ed3c735cab0a233a8d17", kill_on_drop: false }`
[INFO] [stdout] a7534eb4a2d567d0f0fcac663683a3618299690b4a14ed3c735cab0a233a8d17
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6ce4731f04825614a1dfa2d871c25274f80fb1cc174d5a8579bcd6654e733592
[INFO] running `Command { std: "docker" "start" "-a" "6ce4731f04825614a1dfa2d871c25274f80fb1cc174d5a8579bcd6654e733592", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]     Checking libloading v0.8.3
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]    Compiling wayland-sys v0.28.6
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]     Checking xcursor v0.3.5
[INFO] [stderr]     Checking ttf-parser v0.15.2
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]    Compiling winit v0.25.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling quick-xml v0.22.0
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking gimli v0.29.0
[INFO] [stderr]     Checking emath v0.14.0
[INFO] [stderr]     Checking atomic_refcell v0.1.13
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling wayland-scanner v0.28.6
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking miniz_oxide v0.7.3
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking object v0.35.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]    Compiling xcb v0.10.1
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking owned_ttf_parser v0.15.2
[INFO] [stderr]     Checking rusttype v0.9.3
[INFO] [stderr]    Compiling wayland-client v0.28.6
[INFO] [stderr]    Compiling wayland-protocols v0.28.6
[INFO] [stderr]     Checking owned_ttf_parser v0.21.0
[INFO] [stderr]     Checking andrew v0.3.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.8.6
[INFO] [stderr]     Checking mio v0.7.14
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]     Checking mio-misc v1.2.2
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking ab_glyph v0.2.26
[INFO] [stderr]     Checking http-body v1.0.0
[INFO] [stderr]    Compiling backtrace v0.3.72
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking epaint v0.14.0
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]    Compiling glium v0.30.2
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking egui v0.14.2
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking addr2line v0.22.0
[INFO] [stderr]     Checking takeable-option v0.5.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking http-body-util v0.1.1
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking rustls-pki-types v1.7.0
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]     Checking x11-clipboard v0.5.3
[INFO] [stderr]    Compiling winapi v0.3.9
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]     Checking webbrowser v0.5.5
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking rustls-pemfile v2.1.2
[INFO] [stderr]     Checking epi v0.14.0
[INFO] [stderr]     Checking clap_builder v4.5.15
[INFO] [stderr]     Checking compact_str v0.8.0
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking lru v0.12.4
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]     Checking json v0.12.4
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking wayland-commons v0.28.6
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling instability v0.3.2
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]     Checking calloop v0.6.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking wayland-cursor v0.28.6
[INFO] [stderr]     Checking wayland-egl v0.28.6
[INFO] [stderr]     Checking tokio v1.38.0
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking clap v4.5.15
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ratatui v0.28.0
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.4.5
[INFO] [stderr]     Checking hyper v1.3.1
[INFO] [stderr]     Checking hyper-util v0.1.5
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.4
[INFO] [stderr]     Checking smithay-client-toolkit v0.12.3
[INFO] [stderr]     Checking glutin v0.27.0
[INFO] [stderr]     Checking smithay-clipboard v0.6.6
[INFO] [stderr]     Checking copypasta v0.7.1
[INFO] [stderr]     Checking egui_glium v0.14.0
[INFO] [stderr]     Checking eframe v0.14.0
[INFO] [stderr]     Checking weather_forecasting v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `json::Error`
[INFO] [stdout]  --> src/json_writer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use json::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/weather_request.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut response_json = json::parse(&*response).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/weather_request.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut response_json = json::parse(&*response).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/weather_request.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |             let mut response_json = json::parse(&*response).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json::Error`
[INFO] [stdout]  --> src/json_writer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use json::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_json`
[INFO] [stdout]   --> src/weather_request.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let response_json = json::parse(&*response).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_json`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new`
[INFO] [stdout]   --> src/json_writer.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let new: LocationJSON = match serde_json::from_str(&*contents) {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_from_json` is never used
[INFO] [stdout]   --> src/json_writer.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl LocationJSON {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn load_from_json(&mut self) -> std::io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/weather_request.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut response_json = json::parse(&*response).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/weather_request.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut response_json = json::parse(&*response).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/weather_request.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |             let mut response_json = json::parse(&*response).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_json`
[INFO] [stdout]   --> src/weather_request.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let response_json = json::parse(&*response).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_json`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new`
[INFO] [stdout]   --> src/json_writer.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let new: LocationJSON = match serde_json::from_str(&*contents) {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_from_json` is never used
[INFO] [stdout]   --> src/json_writer.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl LocationJSON {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn load_from_json(&mut self) -> std::io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `um` in `winapi`
[INFO] [stdout]   --> src/main.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use winapi::um::wincon::{ENABLE_EXTENDED_FLAGS, ENABLE_VIRTUAL_TERMINAL_INPUT};
[INFO] [stdout]    |             ^^ could not find `um` in `winapi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `um` in `winapi`
[INFO] [stdout]   --> src/main.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use winapi::um::winbase::{STD_INPUT_HANDLE};
[INFO] [stdout]    |             ^^ could not find `um` in `winapi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `um` in `winapi`
[INFO] [stdout]   --> src/main.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 | use winapi::um::consoleapi::SetConsoleMode;
[INFO] [stdout]    |             ^^ could not find `um` in `winapi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `um` in `winapi`
[INFO] [stdout]   --> src/main.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use winapi::um::processenv::GetStdHandle;
[INFO] [stdout]    |             ^^ could not find `um` in `winapi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Client`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/main.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, stdout, Write};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyEventKind`
[INFO] [stdout]  --> src/main.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |         event::{self, Event, KeyCode, KeyEventKind},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:248:72
[INFO] [stdout]     |
[INFO] [stdout] 248 | async fn process_command(input: &str, forecaster: &mut WeatherRequest, mut database: &mut LocationJSON) {
[INFO] [stdout]     |                                                                        ----^^^^^^^^
[INFO] [stdout]     |                                                                        |
[INFO] [stdout]     |                                                                        help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let mut split_words: Vec<&str> = input.trim().split_whitespace().collect();
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `um` in `winapi`
[INFO] [stdout]   --> src/main.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use winapi::um::wincon::{ENABLE_EXTENDED_FLAGS, ENABLE_VIRTUAL_TERMINAL_INPUT};
[INFO] [stdout]    |             ^^ could not find `um` in `winapi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `um` in `winapi`
[INFO] [stdout]   --> src/main.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use winapi::um::winbase::{STD_INPUT_HANDLE};
[INFO] [stdout]    |             ^^ could not find `um` in `winapi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `um` in `winapi`
[INFO] [stdout]   --> src/main.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 | use winapi::um::consoleapi::SetConsoleMode;
[INFO] [stdout]    |             ^^ could not find `um` in `winapi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `um` in `winapi`
[INFO] [stdout]   --> src/main.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use winapi::um::processenv::GetStdHandle;
[INFO] [stdout]    |             ^^ could not find `um` in `winapi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Client`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/main.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, stdout, Write};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyEventKind`
[INFO] [stdout]  --> src/main.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |         event::{self, Event, KeyCode, KeyEventKind},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut last_key_code: Option<KeyCode> = None;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut pressed_keys: HashSet<KeyCode> = HashSet::new();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_key_code`
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut last_key_code: Option<KeyCode> = None;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_key_code`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:248:72
[INFO] [stdout]     |
[INFO] [stdout] 248 | async fn process_command(input: &str, forecaster: &mut WeatherRequest, mut database: &mut LocationJSON) {
[INFO] [stdout]     |                                                                        ----^^^^^^^^
[INFO] [stdout]     |                                                                        |
[INFO] [stdout]     |                                                                        help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pressed_keys`
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut pressed_keys: HashSet<KeyCode> = HashSet::new();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let mut split_words: Vec<&str> = input.trim().split_whitespace().collect();
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `weather_forecasting` (bin "weather_forecasting") due to 4 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut last_key_code: Option<KeyCode> = None;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut pressed_keys: HashSet<KeyCode> = HashSet::new();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_key_code`
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut last_key_code: Option<KeyCode> = None;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_key_code`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pressed_keys`
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut pressed_keys: HashSet<KeyCode> = HashSet::new();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `weather_forecasting` (bin "weather_forecasting" test) due to 4 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6ce4731f04825614a1dfa2d871c25274f80fb1cc174d5a8579bcd6654e733592", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ce4731f04825614a1dfa2d871c25274f80fb1cc174d5a8579bcd6654e733592", kill_on_drop: false }`
[INFO] [stdout] 6ce4731f04825614a1dfa2d871c25274f80fb1cc174d5a8579bcd6654e733592
