[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) -> 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) -> 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: < 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: < 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) -> 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) -> 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: < 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: < 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 { [INFO] [stdout] | ------------------------------------------------------------------ this is not `async` [INFO] [stdout] 27 | let mut buffer: Vec = 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 { [INFO] [stdout] | ------------------------------------------------------------------ this is not `async` [INFO] [stdout] 27 | let mut buffer: Vec = 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: < 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: < 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{ [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{ [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` is not implemented for `usize` [INFO] [stdout] = help: the following other types implement trait `Add`: [INFO] [stdout] `&usize` implements `Add` [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` is not implemented for `usize` [INFO] [stdout] = help: the following other types implement trait `Add`: [INFO] [stdout] `&usize` implements `Add` [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 = 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 = 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` 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` cannot be formatted with the default formatter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `Option` [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` 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` cannot be formatted with the default formatter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `Option` [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` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&str` [INFO] [stdout] found enum `Option` [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 { [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{ [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` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&str` [INFO] [stdout] found enum `Option` [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 { [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{ [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