[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<Arc<Database>>) -> 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<Arc<Database>>) -> 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<rusqlite::inner_connection::InnerConnection>` 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::inner_connection::InnerConnection>` 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::inner_connection::InnerConnection>`
[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<Database>` 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: State) -> server::Server<State>
[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<hashlink::lru_cache::LruCache<Arc<str>, 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<hashlink::lru_cache::LruCache<Arc<str>, 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<hashlink::lru_cache::LruCache<Arc<str>, 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<LruCache<Arc<str>, 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<Database>` 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: State) -> server::Server<State>
[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<AppState>`, 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<AppState>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `RefCell<rusqlite::inner_connection::InnerConnection>: Sync`
[INFO] [stdout]            which is required by `AppState: std::marker::Send`
[INFO] [stdout]            `RefCell<hashlink::lru_cache::LruCache<Arc<str>, 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<AppState>`, 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<AppState>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `RefCell<rusqlite::inner_connection::InnerConnection>: Sync`
[INFO] [stdout]            which is required by `AppState: std::marker::Send`
[INFO] [stdout]            `RefCell<hashlink::lru_cache::LruCache<Arc<str>, 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<AppState>`, 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<AppState>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `RefCell<rusqlite::inner_connection::InnerConnection>: Sync`
[INFO] [stdout]            which is required by `AppState: std::marker::Send`
[INFO] [stdout]            `RefCell<hashlink::lru_cache::LruCache<Arc<str>, 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<HashMap<std::string::String, i32>, rusqlite::Error>`
[INFO] [stdout] 64 |         Ok(()) => {
[INFO] [stdout]    |            ^^ expected `HashMap<String, i32>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `HashMap<std::string::String, i32>`
[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<usize, rusqlite::Error>`
[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<Arc<Database>>) -> 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<Arc<Database>>) -> 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<rusqlite::inner_connection::InnerConnection>` 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::inner_connection::InnerConnection>` 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::inner_connection::InnerConnection>`
[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<Database>` 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: State) -> server::Server<State>
[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<hashlink::lru_cache::LruCache<Arc<str>, 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<hashlink::lru_cache::LruCache<Arc<str>, 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<hashlink::lru_cache::LruCache<Arc<str>, 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<LruCache<Arc<str>, 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<Database>` 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: State) -> server::Server<State>
[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<AppState>`, 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<AppState>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `RefCell<rusqlite::inner_connection::InnerConnection>: Sync`
[INFO] [stdout]            which is required by `AppState: std::marker::Send`
[INFO] [stdout]            `RefCell<hashlink::lru_cache::LruCache<Arc<str>, 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<AppState>`, 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<AppState>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `RefCell<rusqlite::inner_connection::InnerConnection>: Sync`
[INFO] [stdout]            which is required by `AppState: std::marker::Send`
[INFO] [stdout]            `RefCell<hashlink::lru_cache::LruCache<Arc<str>, 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<AppState>`, 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<AppState>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `RefCell<rusqlite::inner_connection::InnerConnection>: Sync`
[INFO] [stdout]            which is required by `AppState: std::marker::Send`
[INFO] [stdout]            `RefCell<hashlink::lru_cache::LruCache<Arc<str>, 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<HashMap<std::string::String, i32>, rusqlite::Error>`
[INFO] [stdout] 64 |         Ok(()) => {
[INFO] [stdout]    |            ^^ expected `HashMap<String, i32>`, found `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `HashMap<std::string::String, i32>`
[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<usize, rusqlite::Error>`
[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
