[INFO] cloning repository https://github.com/lmk6/LearningRust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lmk6/LearningRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flmk6%2FLearningRust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flmk6%2FLearningRust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1b8007d9f05775944d3b72fba8549645fd5086cf [INFO] checking lmk6/LearningRust/1b8007d9f05775944d3b72fba8549645fd5086cf against master#5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa for pr-149901 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flmk6%2FLearningRust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lmk6/LearningRust [INFO] finished tweaking git repo https://github.com/lmk6/LearningRust [INFO] tweaked toml for git repo https://github.com/lmk6/LearningRust written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lmk6/LearningRust on toolchain 5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lmk6/LearningRust 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" "+5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sval_serde v2.13.0 [INFO] [stderr] Downloaded value-bag-sval2 v1.9.0 [INFO] [stderr] Downloaded serde_derive v1.0.202 [INFO] [stderr] Downloaded route-recognizer v0.2.0 [INFO] [stderr] Downloaded cipher v0.2.5 [INFO] [stderr] Downloaded hkdf v0.10.0 [INFO] [stderr] Downloaded hmac v0.10.1 [INFO] [stderr] Downloaded value-bag-serde1 v1.9.0 [INFO] [stderr] Downloaded polyval v0.4.5 [INFO] [stderr] Downloaded typeid v1.0.0 [INFO] [stderr] Downloaded async-sse v4.1.0 [INFO] [stderr] Downloaded async-session v2.0.1 [INFO] [stderr] Downloaded async-executor v1.11.0 [INFO] [stderr] Downloaded async-dup v1.2.4 [INFO] [stderr] Downloaded ctr v0.6.0 [INFO] [stderr] Downloaded blocking v1.6.0 [INFO] [stderr] Downloaded http-client v6.5.3 [INFO] [stderr] Downloaded async-h1 v2.3.4 [INFO] [stderr] Downloaded cc v1.0.97 [INFO] [stderr] Downloaded aes v0.6.0 [INFO] [stderr] Downloaded tide v0.16.0 [INFO] [stderr] Downloaded aes-soft v0.6.4 [INFO] [stderr] Downloaded aesni v0.10.0 [INFO] [stderr] Downloaded rusqlite v0.31.0 [INFO] [stderr] Downloaded syn v2.0.64 [INFO] [stderr] Downloaded aes-gcm v0.8.0 [INFO] [stderr] Downloaded polling v3.7.0 [INFO] [stderr] Downloaded async-io v2.3.2 [INFO] [stderr] Downloaded serde v1.0.202 [INFO] [stderr] Downloaded event-listener v5.3.0 [INFO] [stderr] Downloaded sval_nested v2.13.0 [INFO] [stderr] Downloaded sval_buffer v2.13.0 [INFO] [stderr] Downloaded sval_ref v2.13.0 [INFO] [stderr] Downloaded value-bag v1.9.0 [INFO] [stderr] Downloaded proc-macro2 v1.0.82 [INFO] [stderr] Downloaded async-signal v0.2.6 [INFO] [stderr] Downloaded aead v0.3.2 [INFO] [stderr] Downloaded cpuid-bool v0.2.0 [INFO] [stderr] Downloaded erased-serde v0.4.5 [INFO] [stderr] Downloaded sval v2.13.0 [INFO] [stderr] Downloaded ghash v0.3.1 [INFO] [stderr] Downloaded crypto-mac v0.10.1 [INFO] [stderr] Downloaded sval_dynamic v2.13.0 [INFO] [stderr] Downloaded sval_fmt v2.13.0 [INFO] [stderr] Downloaded piper v0.2.2 [INFO] [stderr] Downloaded sval_json v2.13.0 [INFO] [stderr] Downloaded femme v2.2.1 [INFO] [stderr] Downloaded libsqlite3-sys v0.28.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 40ee26c9ca80869e090b7cbf0c073e753484e08d9169f3a4822cac265627a7c8 [INFO] running `Command { std: "docker" "start" "-a" "40ee26c9ca80869e090b7cbf0c073e753484e08d9169f3a4822cac265627a7c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "40ee26c9ca80869e090b7cbf0c073e753484e08d9169f3a4822cac265627a7c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "40ee26c9ca80869e090b7cbf0c073e753484e08d9169f3a4822cac265627a7c8", kill_on_drop: false }` [INFO] [stdout] 40ee26c9ca80869e090b7cbf0c073e753484e08d9169f3a4822cac265627a7c8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1cad6b1f34199cc4c86df5372e3f0aa5218b7f15edca9818ccaa4dd77fbfdbed [INFO] running `Command { std: "docker" "start" "-a" "1cad6b1f34199cc4c86df5372e3f0aa5218b7f15edca9818ccaa4dd77fbfdbed", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.82 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling serde v1.0.202 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Checking typeid v1.0.0 [INFO] [stderr] Checking event-listener v4.0.3 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking futures-lite v2.3.0 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking event-listener-strategy v0.4.0 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling io-lifetimes v1.0.11 [INFO] [stderr] Checking event-listener v5.3.0 [INFO] [stderr] Checking async-lock v3.3.0 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Compiling rustix v0.37.27 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking event-listener v2.5.3 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Checking cipher v0.2.5 [INFO] [stderr] Checking event-listener-strategy v0.5.2 [INFO] [stderr] Compiling async-io v1.13.0 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking fastrand v1.9.0 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking waker-fn v1.2.0 [INFO] [stderr] Checking linux-raw-sys v0.3.8 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Checking piper v0.2.2 [INFO] [stderr] Compiling syn v2.0.64 [INFO] [stderr] Checking async-lock v2.8.0 [INFO] [stderr] Checking universal-hash v0.4.1 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking socket2 v0.4.10 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking futures-lite v1.13.0 [INFO] [stderr] Checking cpuid-bool v0.2.0 [INFO] [stderr] Compiling cc v1.0.97 [INFO] [stderr] Compiling const_fn v0.4.10 [INFO] [stderr] Compiling serde_json v1.0.117 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking polyval v0.4.5 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking blocking v1.6.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking async-executor v1.11.0 [INFO] [stderr] Checking aes-soft v0.6.4 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking crypto-mac v0.10.1 [INFO] [stderr] Checking event-listener v3.1.0 [INFO] [stderr] Compiling time v0.2.27 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking aes v0.6.0 [INFO] [stderr] Checking hmac v0.10.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking ghash v0.3.1 [INFO] [stderr] Checking ctr v0.6.0 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking aead v0.3.2 [INFO] [stderr] Compiling cookie v0.14.4 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking aes-gcm v0.8.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking hkdf v0.10.0 [INFO] [stderr] Compiling http-types v2.12.0 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking infer v0.2.3 [INFO] [stderr] Compiling blake3 v0.3.8 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking zerocopy v0.7.34 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking constant_time_eq v0.1.5 [INFO] [stderr] Checking arrayref v0.3.7 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking polling v3.7.0 [INFO] [stderr] Checking async-dup v1.2.4 [INFO] [stderr] Checking base64 v0.12.3 [INFO] [stderr] Checking pin-project-lite v0.1.12 [INFO] [stderr] Checking route-recognizer v0.2.0 [INFO] [stderr] Checking async-io v2.3.2 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking async-signal v0.2.6 [INFO] [stderr] Checking async-global-executor v2.4.1 [INFO] [stderr] Compiling time-macros-impl v0.1.2 [INFO] [stderr] Compiling async-attributes v1.1.2 [INFO] [stderr] Compiling serde_derive v1.0.202 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling async-trait v0.1.80 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Checking time-macros v0.1.1 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking thiserror v1.0.61 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking erased-serde v0.4.5 [INFO] [stderr] Checking serde_fmt v1.0.3 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_qs v0.8.5 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking value-bag-serde1 v1.9.0 [INFO] [stderr] Checking value-bag v1.9.0 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking femme v2.2.1 [INFO] [stderr] Checking async-process v1.8.1 [INFO] [stderr] Checking async-std v1.12.0 [INFO] [stderr] Checking rusqlite v0.31.0 [INFO] [stderr] Checking async-session v2.0.1 [INFO] [stderr] Checking async-sse v4.1.0 [INFO] [stderr] Checking http-client v6.5.3 [INFO] [stderr] Checking async-h1 v2.3.4 [INFO] [stderr] Checking tide v0.16.0 [INFO] [stderr] Checking learningRust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handlers.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn get_entries(mut req: Request>) -> tide::Result { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `body_json` found for struct `tide::Response` in the current scope [INFO] [stdout] --> src/handlers.rs:32:57 [INFO] [stdout] | [INFO] [stdout] 32 | Some(entry) => Ok(Response::new(StatusCode::Ok).body_json(&entry)?), [INFO] [stdout] | ^^^^^^^^^ method not found in `tide::Response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handlers.rs:37:27 [INFO] [stdout] | [INFO] [stdout] 37 | pub async fn delete_entry(mut req: Request>) -> tide::Result { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `body_string` found for struct `tide::Response` in the current scope [INFO] [stdout] --> src/handlers.rs:53:57 [INFO] [stdout] | [INFO] [stdout] 53 | return Ok(Response::new(StatusCode::BadRequest).body_string("Name in URL does not match")) [INFO] [stdout] | ^^^^^^^^^^^ method not found in `tide::Response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `RefCell` cannot be shared between threads safely [INFO] [stdout] --> src/main.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | let mut app = tide::with_state(state); [INFO] [stdout] | ---------------- ^^^^^ `RefCell` cannot be shared between threads safely [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: within `Database`, the trait `Sync` is not implemented for `RefCell` [INFO] [stdout] = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead [INFO] [stdout] note: required because it appears within the type `rusqlite::Connection` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | pub struct Connection { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] note: required because it appears within the type `Database` [INFO] [stdout] --> src/db_controller.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: required for `Arc` to implement `std::marker::Send` [INFO] [stdout] note: required because it appears within the type `AppState` [INFO] [stdout] --> src/main.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: required by a bound in `with_state` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tide-0.16.0/src/lib.rs:153:20 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn with_state(state: State) -> server::Server [INFO] [stdout] | ---------- required by a bound in this function [INFO] [stdout] 152 | where [INFO] [stdout] 153 | State: Clone + Send + Sync + 'static, [INFO] [stdout] | ^^^^ required by this bound in `with_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `RefCell, rusqlite::raw_statement::RawStatement>>` cannot be shared between threads safely [INFO] [stdout] --> src/main.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | let mut app = tide::with_state(state); [INFO] [stdout] | ---------------- ^^^^^ `RefCell, rusqlite::raw_statement::RawStatement>>` cannot be shared between threads safely [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: within `Database`, the trait `Sync` is not implemented for `RefCell, rusqlite::raw_statement::RawStatement>>` [INFO] [stdout] = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead [INFO] [stdout] note: required because it appears within the type `rusqlite::cache::StatementCache` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/cache.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct StatementCache(RefCell, RawStatement>>); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: required because it appears within the type `rusqlite::Connection` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | pub struct Connection { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] note: required because it appears within the type `Database` [INFO] [stdout] --> src/db_controller.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: required for `Arc` to implement `std::marker::Send` [INFO] [stdout] note: required because it appears within the type `AppState` [INFO] [stdout] --> src/main.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: required by a bound in `with_state` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tide-0.16.0/src/lib.rs:153:20 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn with_state(state: State) -> server::Server [INFO] [stdout] | ---------- required by a bound in this function [INFO] [stdout] 152 | where [INFO] [stdout] 153 | State: Clone + Send + Sync + 'static, [INFO] [stdout] | ^^^^ required by this bound in `with_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `at` exists for struct `Server`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | --------------- doesn't satisfy `AppState: std::marker::Send` [INFO] [stdout] ... [INFO] [stdout] 23 | app.at("/entries") [INFO] [stdout] | ^^ method cannot be called on `Server` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `RefCell: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] `RefCell, rusqlite::raw_statement::RawStatement>>: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `at` exists for struct `Server`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | --------------- doesn't satisfy `AppState: std::marker::Send` [INFO] [stdout] ... [INFO] [stdout] 26 | app.at("/entries/:name") [INFO] [stdout] | ^^ method cannot be called on `Server` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `RefCell: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] `RefCell, rusqlite::raw_statement::RawStatement>>: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `listen` exists for struct `Server`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | --------------- doesn't satisfy `AppState: std::marker::Send` [INFO] [stdout] ... [INFO] [stdout] 31 | app.listen("127.0.0.1:8080").await?; [INFO] [stdout] | ^^^^^^ method cannot be called on `Server` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `RefCell: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] `RefCell, rusqlite::raw_statement::RawStatement>>: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | match db.get_all_entries() { [INFO] [stdout] | -------------------- this expression has type `Result, rusqlite::Error>` [INFO] [stdout] 64 | Ok(()) => { [INFO] [stdout] | ^^ expected `HashMap`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `HashMap` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 105 | match db.remove_entry(&key) { [INFO] [stdout] | --------------------- this expression has type `Result` [INFO] [stdout] 106 | Ok(()) => println!("Deletion Successful!"), [INFO] [stdout] | ^^ expected `usize`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handlers.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn get_entries(mut req: Request>) -> tide::Result { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `learningRust` (bin "learningRust") due to 9 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0599]: no method named `body_json` found for struct `tide::Response` in the current scope [INFO] [stdout] --> src/handlers.rs:32:57 [INFO] [stdout] | [INFO] [stdout] 32 | Some(entry) => Ok(Response::new(StatusCode::Ok).body_json(&entry)?), [INFO] [stdout] | ^^^^^^^^^ method not found in `tide::Response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handlers.rs:37:27 [INFO] [stdout] | [INFO] [stdout] 37 | pub async fn delete_entry(mut req: Request>) -> tide::Result { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `body_string` found for struct `tide::Response` in the current scope [INFO] [stdout] --> src/handlers.rs:53:57 [INFO] [stdout] | [INFO] [stdout] 53 | return Ok(Response::new(StatusCode::BadRequest).body_string("Name in URL does not match")) [INFO] [stdout] | ^^^^^^^^^^^ method not found in `tide::Response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `RefCell` cannot be shared between threads safely [INFO] [stdout] --> src/main.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | let mut app = tide::with_state(state); [INFO] [stdout] | ---------------- ^^^^^ `RefCell` cannot be shared between threads safely [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: within `Database`, the trait `Sync` is not implemented for `RefCell` [INFO] [stdout] = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead [INFO] [stdout] note: required because it appears within the type `rusqlite::Connection` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | pub struct Connection { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] note: required because it appears within the type `Database` [INFO] [stdout] --> src/db_controller.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: required for `Arc` to implement `std::marker::Send` [INFO] [stdout] note: required because it appears within the type `AppState` [INFO] [stdout] --> src/main.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: required by a bound in `with_state` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tide-0.16.0/src/lib.rs:153:20 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn with_state(state: State) -> server::Server [INFO] [stdout] | ---------- required by a bound in this function [INFO] [stdout] 152 | where [INFO] [stdout] 153 | State: Clone + Send + Sync + 'static, [INFO] [stdout] | ^^^^ required by this bound in `with_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `RefCell, rusqlite::raw_statement::RawStatement>>` cannot be shared between threads safely [INFO] [stdout] --> src/main.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | let mut app = tide::with_state(state); [INFO] [stdout] | ---------------- ^^^^^ `RefCell, rusqlite::raw_statement::RawStatement>>` cannot be shared between threads safely [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: within `Database`, the trait `Sync` is not implemented for `RefCell, rusqlite::raw_statement::RawStatement>>` [INFO] [stdout] = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead [INFO] [stdout] note: required because it appears within the type `rusqlite::cache::StatementCache` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/cache.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct StatementCache(RefCell, RawStatement>>); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] note: required because it appears within the type `rusqlite::Connection` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.31.0/src/lib.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | pub struct Connection { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] note: required because it appears within the type `Database` [INFO] [stdout] --> src/db_controller.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: required for `Arc` to implement `std::marker::Send` [INFO] [stdout] note: required because it appears within the type `AppState` [INFO] [stdout] --> src/main.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: required by a bound in `with_state` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tide-0.16.0/src/lib.rs:153:20 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn with_state(state: State) -> server::Server [INFO] [stdout] | ---------- required by a bound in this function [INFO] [stdout] 152 | where [INFO] [stdout] 153 | State: Clone + Send + Sync + 'static, [INFO] [stdout] | ^^^^ required by this bound in `with_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `at` exists for struct `Server`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | --------------- doesn't satisfy `AppState: std::marker::Send` [INFO] [stdout] ... [INFO] [stdout] 23 | app.at("/entries") [INFO] [stdout] | ^^ method cannot be called on `Server` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `RefCell: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] `RefCell, rusqlite::raw_statement::RawStatement>>: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `at` exists for struct `Server`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | --------------- doesn't satisfy `AppState: std::marker::Send` [INFO] [stdout] ... [INFO] [stdout] 26 | app.at("/entries/:name") [INFO] [stdout] | ^^ method cannot be called on `Server` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `RefCell: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] `RefCell, rusqlite::raw_statement::RawStatement>>: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `listen` exists for struct `Server`, but its trait bounds were not satisfied [INFO] [stdout] --> src/main.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 11 | struct AppState { [INFO] [stdout] | --------------- doesn't satisfy `AppState: std::marker::Send` [INFO] [stdout] ... [INFO] [stdout] 31 | app.listen("127.0.0.1:8080").await?; [INFO] [stdout] | ^^^^^^ method cannot be called on `Server` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `RefCell: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] `RefCell, rusqlite::raw_statement::RawStatement>>: Sync` [INFO] [stdout] which is required by `AppState: std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | match db.get_all_entries() { [INFO] [stdout] | -------------------- this expression has type `Result, rusqlite::Error>` [INFO] [stdout] 64 | Ok(()) => { [INFO] [stdout] | ^^ expected `HashMap`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `HashMap` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 105 | match db.remove_entry(&key) { [INFO] [stdout] | --------------------- this expression has type `Result` [INFO] [stdout] 106 | Ok(()) => println!("Deletion Successful!"), [INFO] [stdout] | ^^ expected `usize`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `learningRust` (bin "learningRust" test) due to 9 previous errors; 2 warnings emitted [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1cad6b1f34199cc4c86df5372e3f0aa5218b7f15edca9818ccaa4dd77fbfdbed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1cad6b1f34199cc4c86df5372e3f0aa5218b7f15edca9818ccaa4dd77fbfdbed", kill_on_drop: false }` [INFO] [stdout] 1cad6b1f34199cc4c86df5372e3f0aa5218b7f15edca9818ccaa4dd77fbfdbed