[INFO] cloning repository https://github.com/msiuda3/rust-db
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/msiuda3/rust-db" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmsiuda3%2Frust-db", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmsiuda3%2Frust-db'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4ada203df73151c666fb71d544c30cacd69f078b
[INFO] checking msiuda3/rust-db against try#bf5ff6675cf10ce009ac02007b064a7cfc4509ac for pr-140558
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmsiuda3%2Frust-db" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/msiuda3/rust-db on toolchain bf5ff6675cf10ce009ac02007b064a7cfc4509ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/msiuda3/rust-db
[INFO] finished tweaking git repo https://github.com/msiuda3/rust-db
[INFO] tweaked toml for git repo https://github.com/msiuda3/rust-db written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/msiuda3/rust-db 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" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking msiuda3/rust-db against try#bf5ff6675cf10ce009ac02007b064a7cfc4509ac for pr-140558
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmsiuda3%2Frust-db" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/msiuda3/rust-db on toolchain bf5ff6675cf10ce009ac02007b064a7cfc4509ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/msiuda3/rust-db
[INFO] finished tweaking git repo https://github.com/msiuda3/rust-db
[INFO] tweaked toml for git repo https://github.com/msiuda3/rust-db written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/msiuda3/rust-db 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" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8378d152732eb4119f3475b4d32fd7ee9afa6157aedc6b3cf36045089745f3e3
[INFO] running `Command { std: "docker" "start" "-a" "8378d152732eb4119f3475b4d32fd7ee9afa6157aedc6b3cf36045089745f3e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8378d152732eb4119f3475b4d32fd7ee9afa6157aedc6b3cf36045089745f3e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8378d152732eb4119f3475b4d32fd7ee9afa6157aedc6b3cf36045089745f3e3", kill_on_drop: false }`
[INFO] [stdout] 8378d152732eb4119f3475b4d32fd7ee9afa6157aedc6b3cf36045089745f3e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3971535f395e73f131428e3bd904d2529d63b1733f90aa2918bf3ea397903301
[INFO] running `Command { std: "docker" "start" "-a" "3971535f395e73f131428e3bd904d2529d63b1733f90aa2918bf3ea397903301", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking bytes v1.8.0
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking tokio v1.41.1
[INFO] [stderr]     Checking rust-db v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0573]: expected type, found variant `Operation::Get`
[INFO] [stdout]   --> src/network/reader.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn handle_get(buffer: Vec<u8>) -> Operation::Get {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   not a type
[INFO] [stdout]    |                                   help: try using the variant's enum: `crate::Operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0573]: expected type, found variant `Operation::Put`
[INFO] [stdout]   --> src/network/reader.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn handle_put(buffer: Vec<u8>) -> Operation::Put {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   not a type
[INFO] [stdout]    |                                   help: try using the variant's enum: `crate::Operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `VERSION` in this scope
[INFO] [stdout]  --> src/network/writer.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let mut response = vec![VERSION];
[INFO] [stdout]   |                             ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] note: constant `crate::network::reader::VERSION` exists but is inaccessible
[INFO] [stdout]  --> src/network/reader.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | const VERSION: u8 = 0x01;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::VERSION;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `OPERATION_GET_RESPONSE` in this scope
[INFO] [stdout]  --> src/network/writer.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     response.push(OPERATION_GET_RESPONSE);
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] note: constant `crate::network::reader::OPERATION_GET_RESPONSE` exists but is inaccessible
[INFO] [stdout]  --> src/network/reader.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | const OPERATION_GET_RESPONSE: u8 = 0x81;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::OPERATION_GET_RESPONSE;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `VERSION` in this scope
[INFO] [stdout]   --> src/network/writer.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut response = vec![VERSION];
[INFO] [stdout]    |                             ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: constant `crate::network::reader::VERSION` exists but is inaccessible
[INFO] [stdout]   --> src/network/reader.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | const VERSION: u8 = 0x01;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::VERSION;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `OPERATION_GET_RESPONSE` in this scope
[INFO] [stdout]   --> src/network/writer.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     response.push(OPERATION_GET_RESPONSE);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: constant `crate::network::reader::OPERATION_GET_RESPONSE` exists but is inaccessible
[INFO] [stdout]   --> src/network/reader.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | const OPERATION_GET_RESPONSE: u8 = 0x81;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::OPERATION_GET_RESPONSE;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Try` in this scope
[INFO] [stdout]   --> src/main.rs:16:78
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let listener: <<Result<TcpListener, io::Error> as IntoFuture>::Output as Try>::Output = TcpListener::bind("127.0.0.1:7878").await?;
[INFO] [stdout]    |                                                                              ^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::ops::Try;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `IntoFuture` in this scope
[INFO] [stdout]   --> src/main.rs:16:55
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let listener: <<Result<TcpListener, io::Error> as IntoFuture>::Output as Try>::Output = TcpListener::bind("127.0.0.1:7878").await?;
[INFO] [stdout]    |                                                       ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::future::IntoFuture;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0532]: expected tuple struct or tuple variant, found enum `network::reader::Operation`
[INFO] [stdout]   --> src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         network::reader::Operation(operation) => {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the enum is defined here
[INFO] [stdout]   --> src/network/reader.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / pub enum Operation {
[INFO] [stdout] 18 | |     Get(GetMessage),
[INFO] [stdout] 19 | |     Put(PutMessage)
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] help: try to match against one of the enum's variants
[INFO] [stdout]    |
[INFO] [stdout] 80 -         network::reader::Operation(operation) => {
[INFO] [stdout] 80 +         Operation::Get(operation) => {
[INFO] [stdout]    |
[INFO] [stdout] 80 -         network::reader::Operation(operation) => {
[INFO] [stdout] 80 +         Operation::Put(operation) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `GetMessage` in this scope
[INFO] [stdout]   --> src/main.rs:95:27
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn handle_get(getMessage: GetMessage, stream: &mut TcpStream){
[INFO] [stdout]    |                           ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: struct `crate::network::reader::GetMessage` exists but is inaccessible
[INFO] [stdout]   --> src/network/reader.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | struct GetMessage{
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `found` in this scope
[INFO] [stdout]   --> src/main.rs:98:47
[INFO] [stdout]    |
[INFO] [stdout] 98 |     network::writer::write_get_answer(stream, found, value);
[INFO] [stdout]    |                                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PutMessage` in this scope
[INFO] [stdout]    --> src/main.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn handle_put(put_message: PutMessage, stream: &mut TcpStream){
[INFO] [stdout]     |                            ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: struct `crate::network::reader::PutMessage` exists but is inaccessible
[INFO] [stdout]    --> src/network/reader.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout] 12  | struct PutMessage{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian` and `ByteOrder`
[INFO] [stdout]  --> src/main.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use byteorder::{ByteOrder, BigEndian};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0573]: expected type, found variant `Operation::Get`
[INFO] [stdout]   --> src/network/reader.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn handle_get(buffer: Vec<u8>) -> Operation::Get {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   not a type
[INFO] [stdout]    |                                   help: try using the variant's enum: `crate::Operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0573]: expected type, found variant `Operation::Put`
[INFO] [stdout]   --> src/network/reader.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn handle_put(buffer: Vec<u8>) -> Operation::Put {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   not a type
[INFO] [stdout]    |                                   help: try using the variant's enum: `crate::Operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `VERSION` in this scope
[INFO] [stdout]  --> src/network/writer.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let mut response = vec![VERSION];
[INFO] [stdout]   |                             ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] note: constant `crate::network::reader::VERSION` exists but is inaccessible
[INFO] [stdout]  --> src/network/reader.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | const VERSION: u8 = 0x01;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::VERSION;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `OPERATION_GET_RESPONSE` in this scope
[INFO] [stdout]  --> src/network/writer.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     response.push(OPERATION_GET_RESPONSE);
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] note: constant `crate::network::reader::OPERATION_GET_RESPONSE` exists but is inaccessible
[INFO] [stdout]  --> src/network/reader.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | const OPERATION_GET_RESPONSE: u8 = 0x81;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::OPERATION_GET_RESPONSE;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `VERSION` in this scope
[INFO] [stdout]   --> src/network/writer.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut response = vec![VERSION];
[INFO] [stdout]    |                             ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: constant `crate::network::reader::VERSION` exists but is inaccessible
[INFO] [stdout]   --> src/network/reader.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | const VERSION: u8 = 0x01;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::VERSION;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `OPERATION_GET_RESPONSE` in this scope
[INFO] [stdout]   --> src/network/writer.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     response.push(OPERATION_GET_RESPONSE);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: constant `crate::network::reader::OPERATION_GET_RESPONSE` exists but is inaccessible
[INFO] [stdout]   --> src/network/reader.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | const OPERATION_GET_RESPONSE: u8 = 0x81;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::OPERATION_GET_RESPONSE;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Try` in this scope
[INFO] [stdout]   --> src/main.rs:16:78
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let listener: <<Result<TcpListener, io::Error> as IntoFuture>::Output as Try>::Output = TcpListener::bind("127.0.0.1:7878").await?;
[INFO] [stdout]    |                                                                              ^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::ops::Try;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `IntoFuture` in this scope
[INFO] [stdout]   --> src/main.rs:16:55
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let listener: <<Result<TcpListener, io::Error> as IntoFuture>::Output as Try>::Output = TcpListener::bind("127.0.0.1:7878").await?;
[INFO] [stdout]    |                                                       ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::future::IntoFuture;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0532]: expected tuple struct or tuple variant, found enum `network::reader::Operation`
[INFO] [stdout]   --> src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         network::reader::Operation(operation) => {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the enum is defined here
[INFO] [stdout]   --> src/network/reader.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / pub enum Operation {
[INFO] [stdout] 18 | |     Get(GetMessage),
[INFO] [stdout] 19 | |     Put(PutMessage)
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] help: try to match against one of the enum's variants
[INFO] [stdout]    |
[INFO] [stdout] 80 -         network::reader::Operation(operation) => {
[INFO] [stdout] 80 +         Operation::Get(operation) => {
[INFO] [stdout]    |
[INFO] [stdout] 80 -         network::reader::Operation(operation) => {
[INFO] [stdout] 80 +         Operation::Put(operation) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `GetMessage` in this scope
[INFO] [stdout]   --> src/main.rs:95:27
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn handle_get(getMessage: GetMessage, stream: &mut TcpStream){
[INFO] [stdout]    |                           ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] note: struct `crate::network::reader::GetMessage` exists but is inaccessible
[INFO] [stdout]   --> src/network/reader.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | struct GetMessage{
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `found` in this scope
[INFO] [stdout]   --> src/main.rs:98:47
[INFO] [stdout]    |
[INFO] [stdout] 98 |     network::writer::write_get_answer(stream, found, value);
[INFO] [stdout]    |                                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/network/reader.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn read(stream: &TcpStream) -> Result<Operation, MessageError> {
[INFO] [stdout]    | ------------------------------------------------------------------ this is not `async`
[INFO] [stdout] 27 |     let mut buffer: Vec<u8> = vec![0; 256]; 
[INFO] [stdout] 28 |     let bytes_read = stream.read(&mut buffer).await?;
[INFO] [stdout]    |                                               ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PutMessage` in this scope
[INFO] [stdout]    --> src/main.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn handle_put(put_message: PutMessage, stream: &mut TcpStream){
[INFO] [stdout]     |                            ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: struct `crate::network::reader::PutMessage` exists but is inaccessible
[INFO] [stdout]    --> src/network/reader.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout] 12  | struct PutMessage{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian` and `ByteOrder`
[INFO] [stdout]  --> src/main.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use byteorder::{ByteOrder, BigEndian};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/network/reader.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn read(stream: &TcpStream) -> Result<Operation, MessageError> {
[INFO] [stdout]    | ------------------------------------------------------------------ this is not `async`
[INFO] [stdout] 27 |     let mut buffer: Vec<u8> = vec![0; 256]; 
[INFO] [stdout] 28 |     let bytes_read = stream.read(&mut buffer).await?;
[INFO] [stdout]    |                                               ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/main.rs:16:129
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn main() -> io::Result<()> {
[INFO] [stdout]    | --------------------------- this is not `async`
[INFO] [stdout] 16 |     let listener: <<Result<TcpListener, io::Error> as IntoFuture>::Output as Try>::Output = TcpListener::bind("127.0.0.1:7878").await?;
[INFO] [stdout]    |                                                                                                                                 ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/main.rs:19:52
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn main() -> io::Result<()> {
[INFO] [stdout]    | --------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 19 |         let (mut stream, addr) = listener.accept().await?;
[INFO] [stdout]    |                                                    ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/main.rs:16:129
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn main() -> io::Result<()> {
[INFO] [stdout]    | --------------------------- this is not `async`
[INFO] [stdout] 16 |     let listener: <<Result<TcpListener, io::Error> as IntoFuture>::Output as Try>::Output = TcpListener::bind("127.0.0.1:7878").await?;
[INFO] [stdout]    |                                                                                                                                 ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/main.rs:19:52
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn main() -> io::Result<()> {
[INFO] [stdout]    | --------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 19 |         let (mut stream, addr) = listener.accept().await?;
[INFO] [stdout]    |                                                    ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for type alias `std::io::Result`
[INFO] [stdout]   --> src/main.rs:77:50
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn handle_message(stream: &mut TcpStream) -> io::Result{
[INFO] [stdout]    |                                                  ^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn handle_message(stream: &mut TcpStream) -> io::Result<T>{
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for type alias `std::io::Result`
[INFO] [stdout]   --> src/main.rs:77:50
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn handle_message(stream: &mut TcpStream) -> io::Result{
[INFO] [stdout]    |                                                  ^^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn handle_message(stream: &mut TcpStream) -> io::Result<T>{
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for reference `&tokio::net::TcpStream` in the current scope
[INFO] [stdout]   --> src/network/reader.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let bytes_read = stream.read(&mut buffer).await?;
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `AsyncReadExt` which provides `read` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 1  + use tokio::io::AsyncReadExt;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `ready` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let bytes_read = stream.ready(&mut buffer).await?;
[INFO] [stdout]    |                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/network/reader.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OPERATION_GET => Ok(return handle_get(buffer)),
[INFO] [stdout]    |                          ^^ ------------------------- any code following this expression is unreachable
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          unreachable call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for reference `&tokio::net::TcpStream` in the current scope
[INFO] [stdout]   --> src/network/reader.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let bytes_read = stream.read(&mut buffer).await?;
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `AsyncReadExt` which provides `read` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 1  + use tokio::io::AsyncReadExt;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `ready` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let bytes_read = stream.ready(&mut buffer).await?;
[INFO] [stdout]    |                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/network/reader.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 |         OPERATION_PUT => Ok(return handle_put(buffer)),
[INFO] [stdout]    |                          ^^ ------------------------- any code following this expression is unreachable
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/network/reader.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         OPERATION_GET => Ok(return handle_get(buffer)),
[INFO] [stdout]    |                          ^^ ------------------------- any code following this expression is unreachable
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          unreachable call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/network/reader.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 |         OPERATION_PUT => Ok(return handle_put(buffer)),
[INFO] [stdout]    |                          ^^ ------------------------- any code following this expression is unreachable
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let key_bytes: &[u8] = buffer[3 .. key_length];
[INFO] [stdout]    |                    -----   ^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `[u8]`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let key_bytes: &[u8] = &buffer[3 .. key_length];
[INFO] [stdout]    |                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let key_bytes: &[u8] = buffer[3 .. key_length];
[INFO] [stdout]    |                    -----   ^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `[u8]`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let key_bytes: &[u8] = &buffer[3 .. key_length];
[INFO] [stdout]    |                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let key_bytes: &[u8] = buffer[3 .. key_length];
[INFO] [stdout]    |                    -----   ^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `[u8]`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let key_bytes: &[u8] = &buffer[3 .. key_length];
[INFO] [stdout]    |                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:52:86
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let value_bytes= buffer[value_length_position + 1 .. value_length_position + 1 + value_length];
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^ expected `usize`, found `u8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `u8` to `usize`
[INFO] [stdout]   --> src/network/reader.rs:52:84
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let value_bytes= buffer[value_length_position + 1 .. value_length_position + 1 + value_length];
[INFO] [stdout]    |                                                                                    ^ no implementation for `usize + u8`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Add<u8>` is not implemented for `usize`
[INFO] [stdout]    = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]              `&usize` implements `Add<usize>`
[INFO] [stdout]              `&usize` implements `Add`
[INFO] [stdout]              `usize` implements `Add<&usize>`
[INFO] [stdout]              `usize` implements `Add`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/network/reader.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let value_bytes= buffer[value_length_position + 1 .. value_length_position + 1 + value_length];
[INFO] [stdout]    |         ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout]    = help: unsized locals are gated as an unstable feature
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let value_bytes= &buffer[value_length_position + 1 .. value_length_position + 1 + value_length];
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let value_str = string_from_bytes(value_bytes);
[INFO] [stdout]    |                     ----------------- ^^^^^^^^^^^ expected `&[u8]`, found `[u8]`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/network/reader.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn string_from_bytes(value: &[u8]) -> String{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^ ------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let value_str = string_from_bytes(&value_bytes);
[INFO] [stdout]    |                                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let key_bytes: &[u8] = buffer[3 .. key_length];
[INFO] [stdout]    |                    -----   ^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `[u8]`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let key_bytes: &[u8] = &buffer[3 .. key_length];
[INFO] [stdout]    |                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:52:86
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let value_bytes= buffer[value_length_position + 1 .. value_length_position + 1 + value_length];
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^ expected `usize`, found `u8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `u8` to `usize`
[INFO] [stdout]   --> src/network/reader.rs:52:84
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let value_bytes= buffer[value_length_position + 1 .. value_length_position + 1 + value_length];
[INFO] [stdout]    |                                                                                    ^ no implementation for `usize + u8`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Add<u8>` is not implemented for `usize`
[INFO] [stdout]    = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]              `&usize` implements `Add<usize>`
[INFO] [stdout]              `&usize` implements `Add`
[INFO] [stdout]              `usize` implements `Add<&usize>`
[INFO] [stdout]              `usize` implements `Add`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/network/reader.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let value_bytes= buffer[value_length_position + 1 .. value_length_position + 1 + value_length];
[INFO] [stdout]    |         ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout]    = help: unsized locals are gated as an unstable feature
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let value_bytes= &buffer[value_length_position + 1 .. value_length_position + 1 + value_length];
[INFO] [stdout]    |                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let value_str = string_from_bytes(value_bytes);
[INFO] [stdout]    |                     ----------------- ^^^^^^^^^^^ expected `&[u8]`, found `[u8]`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/network/reader.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn string_from_bytes(value: &[u8]) -> String{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^ ------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let value_str = string_from_bytes(&value_bytes);
[INFO] [stdout]    |                                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn string_from_bytes(value: &[u8]) -> String{
[INFO] [stdout]    |                                       ------ expected `String` because of return type
[INFO] [stdout] 58 |     return String::from_utf8_lossy(value);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- help: try using a conversion method: `.to_string()`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            expected `String`, found `Cow<'_, str>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `String`
[INFO] [stdout]                 found enum `Cow<'_, str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/network/reader.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn string_from_bytes(value: &[u8]) -> String{
[INFO] [stdout]    |                                       ------ expected `String` because of return type
[INFO] [stdout] 58 |     return String::from_utf8_lossy(value);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- help: try using a conversion method: `.to_string()`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            expected `String`, found `Cow<'_, str>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `String`
[INFO] [stdout]                 found enum `Cow<'_, str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<(), std::io::Error>` is not a future
[INFO] [stdout]   --> src/main.rs:23:56
[INFO] [stdout]    |
[INFO] [stdout] 23 |             if let Err(e) = handle_client(&mut stream).await {
[INFO] [stdout]    |                             -------------------------- ^^^^^ `Result<(), std::io::Error>` is not a future
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             this call returns `Result<(), std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Future` is not implemented for `Result<(), std::io::Error>`
[INFO] [stdout]    = note: Result<(), std::io::Error> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]    = note: required for `Result<(), std::io::Error>` to implement `IntoFuture`
[INFO] [stdout] help: remove the `.await`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             if let Err(e) = handle_client(&mut stream).await {
[INFO] [stdout] 23 +             if let Err(e) = handle_client(&mut stream) {
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, consider making `fn handle_client` asynchronous
[INFO] [stdout]    |
[INFO] [stdout] 31 | async fn handle_client(stream: &mut TcpStream) -> io::Result<()> {
[INFO] [stdout]    | +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<(), std::io::Error>` is not a future
[INFO] [stdout]   --> src/main.rs:23:56
[INFO] [stdout]    |
[INFO] [stdout] 23 |             if let Err(e) = handle_client(&mut stream).await {
[INFO] [stdout]    |                             -------------------------- ^^^^^ `Result<(), std::io::Error>` is not a future
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             this call returns `Result<(), std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Future` is not implemented for `Result<(), std::io::Error>`
[INFO] [stdout]    = note: Result<(), std::io::Error> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]    = note: required for `Result<(), std::io::Error>` to implement `IntoFuture`
[INFO] [stdout] help: remove the `.await`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             if let Err(e) = handle_client(&mut stream).await {
[INFO] [stdout] 23 +             if let Err(e) = handle_client(&mut stream) {
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, consider making `fn handle_client` asynchronous
[INFO] [stdout]    |
[INFO] [stdout] 31 | async fn handle_client(stream: &mut TcpStream) -> io::Result<()> {
[INFO] [stdout]    | +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | /         tokio::spawn(async move{
[INFO] [stdout] 23 | |             if let Err(e) = handle_client(&mut stream).await {
[INFO] [stdout] 24 | |                 eprintln!("Error occured in connection from: {:?}", e);
[INFO] [stdout] 25 | |             }
[INFO] [stdout] 26 | |         })
[INFO] [stdout]    | |          ^- help: consider using a semicolon here: `;`
[INFO] [stdout]    | |__________|
[INFO] [stdout]    |            expected `()`, found `JoinHandle<()>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                  found struct `tokio::task::JoinHandle<()>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | /     loop{
[INFO] [stdout] 19 | |         let (mut stream, addr) = listener.accept().await?;
[INFO] [stdout] 20 | |         println!("New connection from {:?}", addr);
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | |         })
[INFO] [stdout] 27 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 28 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | /         tokio::spawn(async move{
[INFO] [stdout] 23 | |             if let Err(e) = handle_client(&mut stream).await {
[INFO] [stdout] 24 | |                 eprintln!("Error occured in connection from: {:?}", e);
[INFO] [stdout] 25 | |             }
[INFO] [stdout] 26 | |         })
[INFO] [stdout]    | |          ^- help: consider using a semicolon here: `;`
[INFO] [stdout]    | |__________|
[INFO] [stdout]    |            expected `()`, found `JoinHandle<()>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                  found struct `tokio::task::JoinHandle<()>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | /     loop{
[INFO] [stdout] 19 | |         let (mut stream, addr) = listener.accept().await?;
[INFO] [stdout] 20 | |         println!("New connection from {:?}", addr);
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | |         })
[INFO] [stdout] 27 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 28 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/main.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let bytes_read = stream.read(&mut buffer)?;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `tokio::io::util::read::Read<'_, tokio::net::TcpStream>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `tokio::io::util::read::Read<'_, tokio::net::TcpStream>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> src/main.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn handle_client(stream: &mut TcpStream) -> io::Result<()> {
[INFO] [stdout]    | ---------------------------------------------------------- this is not `async`
[INFO] [stdout] 32 |     let mut buffer: Vec<u8> = vec![0; 256]; 
[INFO] [stdout] 33 |     let bytes_read = stream.read(&mut buffer)?;
[INFO] [stdout]    |                                              ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/main.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let bytes_read = stream.read(&mut buffer)?;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `tokio::io::util::read::Read<'_, tokio::net::TcpStream>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `tokio::io::util::read::Read<'_, tokio::net::TcpStream>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> src/main.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn handle_client(stream: &mut TcpStream) -> io::Result<()> {
[INFO] [stdout]    | ---------------------------------------------------------- this is not `async`
[INFO] [stdout] 32 |     let mut buffer: Vec<u8> = vec![0; 256]; 
[INFO] [stdout] 33 |     let bytes_read = stream.read(&mut buffer)?;
[INFO] [stdout]    |                                              ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/main.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         stream.write_all(&response)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `tokio::io::util::write_all::WriteAll<'_, tokio::net::TcpStream>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `tokio::io::util::write_all::WriteAll<'_, tokio::net::TcpStream>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> src/main.rs:58:36
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn handle_client(stream: &mut TcpStream) -> io::Result<()> {
[INFO] [stdout]    | ---------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 58 |         stream.write_all(&response)?;
[INFO] [stdout]    |                                    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/main.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         stream.write_all(&response)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `tokio::io::util::write_all::WriteAll<'_, tokio::net::TcpStream>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `tokio::io::util::write_all::WriteAll<'_, tokio::net::TcpStream>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> src/main.rs:58:36
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn handle_client(stream: &mut TcpStream) -> io::Result<()> {
[INFO] [stdout]    | ---------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 58 |         stream.write_all(&response)?;
[INFO] [stdout]    |                                    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         stream.write_all(&response)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `tokio::io::util::write_all::WriteAll<'_, tokio::net::TcpStream>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `tokio::io::util::write_all::WriteAll<'_, tokio::net::TcpStream>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> src/main.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn handle_client(stream: &mut TcpStream) -> io::Result<()> {
[INFO] [stdout]    | ---------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 71 |         stream.write_all(&response)?;
[INFO] [stdout]    |                                    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         stream.write_all(&response)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `tokio::io::util::write_all::WriteAll<'_, tokio::net::TcpStream>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `tokio::io::util::write_all::WriteAll<'_, tokio::net::TcpStream>`
[INFO] [stdout] note: this implements `Future` and its output type supports `?`, but the future cannot be awaited in a synchronous function
[INFO] [stdout]   --> src/main.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn handle_client(stream: &mut TcpStream) -> io::Result<()> {
[INFO] [stdout]    | ---------------------------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 71 |         stream.write_all(&response)?;
[INFO] [stdout]    |                                    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Option<String>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> src/main.rs:97:77
[INFO] [stdout]    |
[INFO] [stdout] 97 |     println!("Received GET request for key: {}, value: {}", getMessage.key, value);
[INFO] [stdout]    |                                                                             ^^^^^ `Option<String>` cannot be formatted with the default formatter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `Option<String>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Option<String>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> src/main.rs:97:77
[INFO] [stdout]    |
[INFO] [stdout] 97 |     println!("Received GET request for key: {}, value: {}", getMessage.key, value);
[INFO] [stdout]    |                                                                             ^^^^^ `Option<String>` cannot be formatted with the default formatter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `Option<String>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:98:54
[INFO] [stdout]    |
[INFO] [stdout] 98 |     network::writer::write_get_answer(stream, found, value);
[INFO] [stdout]    |     ---------------------------------                ^^^^^ expected `&str`, found `Option<String>`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&str`
[INFO] [stdout]                    found enum `Option<String>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/network/writer.rs:5:8
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub fn write_get_answer(stream: &mut TcpStream, found: bool, value: &str) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^                                      -----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/main.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Read, Write};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/main.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Read, Write};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/storage.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn get(key: &str) -> Option<String>{
[INFO] [stdout]   |            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:98:54
[INFO] [stdout]    |
[INFO] [stdout] 98 |     network::writer::write_get_answer(stream, found, value);
[INFO] [stdout]    |     ---------------------------------                ^^^^^ expected `&str`, found `Option<String>`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&str`
[INFO] [stdout]                    found enum `Option<String>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/network/writer.rs:5:8
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub fn write_get_answer(stream: &mut TcpStream, found: bool, value: &str) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^                                      -----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/main.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Read, Write};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/main.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Read, Write};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/storage.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn get(key: &str) -> Option<String>{
[INFO] [stdout]   |            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0277, E0308, E0405, E0412, E0425, E0532, E0573, E0599...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0277, E0308, E0405, E0412, E0425, E0532, E0573, E0599...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-db` (bin "rust-db") due to 31 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rust-db` (bin "rust-db" test) due to 31 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3971535f395e73f131428e3bd904d2529d63b1733f90aa2918bf3ea397903301", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3971535f395e73f131428e3bd904d2529d63b1733f90aa2918bf3ea397903301", kill_on_drop: false }`
[INFO] [stdout] 3971535f395e73f131428e3bd904d2529d63b1733f90aa2918bf3ea397903301
