[INFO] cloning repository https://github.com/EvilGenius1010/unstop_hackathon_otp_service
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/EvilGenius1010/unstop_hackathon_otp_service" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEvilGenius1010%2Funstop_hackathon_otp_service", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEvilGenius1010%2Funstop_hackathon_otp_service'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e28dc66ebf3e1879a5f1ba2f4a25e3e0e89b932e
[INFO] checking EvilGenius1010/unstop_hackathon_otp_service against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEvilGenius1010%2Funstop_hackathon_otp_service" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/EvilGenius1010/unstop_hackathon_otp_service
[INFO] finished tweaking git repo https://github.com/EvilGenius1010/unstop_hackathon_otp_service
[INFO] tweaked toml for git repo https://github.com/EvilGenius1010/unstop_hackathon_otp_service written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/EvilGenius1010/unstop_hackathon_otp_service on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/EvilGenius1010/unstop_hackathon_otp_service 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" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded queues v1.1.0
[INFO] [stderr]   Downloaded route-recognizer v0.2.0
[INFO] [stderr]   Downloaded aws-sdk-sns v1.51.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 535824e3bb41745625458b47a46087e6dd6aa0481951bc3e37d02dcd2928831c
[INFO] running `Command { std: "docker" "start" "-a" "535824e3bb41745625458b47a46087e6dd6aa0481951bc3e37d02dcd2928831c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "535824e3bb41745625458b47a46087e6dd6aa0481951bc3e37d02dcd2928831c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "535824e3bb41745625458b47a46087e6dd6aa0481951bc3e37d02dcd2928831c", kill_on_drop: false }`
[INFO] [stdout] 535824e3bb41745625458b47a46087e6dd6aa0481951bc3e37d02dcd2928831c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9b0f30ad51529af21412e1f4a93719b48da6f7da8f71bcd36c5e4365e7441213
[INFO] running `Command { std: "docker" "start" "-a" "9b0f30ad51529af21412e1f4a93719b48da6f7da8f71bcd36c5e4365e7441213", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling libc v0.2.168
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking outref v0.5.1
[INFO] [stderr]     Checking time-core v0.1.2
[INFO] [stderr]     Checking num-conv v0.1.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking vsimd v0.8.0
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling cc v1.2.3
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking http v1.2.0
[INFO] [stderr]     Checking bytes-utils v0.1.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking base64-simd v0.8.0
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking time v0.3.37
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking cpufeatures v0.2.16
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling aws-types v1.3.3
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rustls-native-certs v0.6.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking regex-lite v0.1.6
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking xmlparser v0.13.6
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling serde v1.0.216
[INFO] [stderr]     Checking aws-smithy-xml v0.60.9
[INFO] [stderr]    Compiling pq-sys v0.6.3
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking httpdate v0.3.2
[INFO] [stderr]     Checking route-recognizer v0.2.0
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking queues v1.1.0
[INFO] [stderr]     Checking http-body v0.3.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.7
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.216
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]     Checking tokio v1.42.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking pin-project v1.1.7
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling dsl_auto_type v0.1.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]    Compiling diesel_derives v2.2.3
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking h2 v0.2.7
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking aws-smithy-async v1.2.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking diesel v2.2.6
[INFO] [stderr]     Checking aws-smithy-types v1.2.9
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking aws-smithy-runtime-api v1.7.3
[INFO] [stderr]     Checking aws-smithy-json v0.61.1
[INFO] [stderr]     Checking aws-smithy-query v0.60.7
[INFO] [stderr]     Checking aws-smithy-json v0.60.7
[INFO] [stderr]     Checking hyper v0.13.10
[INFO] [stderr]     Checking aws-credential-types v1.2.1
[INFO] [stderr]     Checking aws-smithy-http v0.60.11
[INFO] [stderr]     Checking aws-sigv4 v1.2.6
[INFO] [stderr]     Checking hyper v0.14.31
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking aws-smithy-runtime v1.7.4
[INFO] [stderr]     Checking aws-runtime v1.4.4
[INFO] [stderr]     Checking aws-sdk-sts v1.51.0
[INFO] [stderr]     Checking aws-sdk-sso v1.50.0
[INFO] [stderr]     Checking aws-sdk-ssooidc v1.51.0
[INFO] [stderr]     Checking aws-sdk-sns v1.51.0
[INFO] [stderr]     Checking aws-config v1.5.10
[INFO] [stderr]     Checking otp_service v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected identifier, found `<eof>`
[INFO] [stdout]   --> src/errors.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct 
[INFO] [stdout]    |     ^^^^^^ expected identifier
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found `<eof>`
[INFO] [stdout]   --> src/errors.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct 
[INFO] [stdout]    |     ^^^^^^ expected identifier
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::handler`
[INFO] [stdout]  --> src/utils.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::handler::GeneratedOTP;
[INFO] [stdout]   |            ^^^^^^^ could not find `handler` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::handler`
[INFO] [stdout]   --> src/threadpool.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | use crate::handler::Context;
[INFO] [stdout]    |            ^^^^^^^ could not find `handler` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::handler`
[INFO] [stdout]  --> src/utils.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::handler::GeneratedOTP;
[INFO] [stdout]   |            ^^^^^^^ could not find `handler` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::handler`
[INFO] [stdout]   --> src/threadpool.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | use crate::handler::Context;
[INFO] [stdout]    |            ^^^^^^^ could not find `handler` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NaiveDateTime` in this scope
[INFO] [stdout]   --> src/utils.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     timestamp:NaiveDateTime,
[INFO] [stdout]    |               ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `naive_timestamp` in this scope
[INFO] [stdout]   --> src/utils.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 |         timestamp: naive_timestamp,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NonZeroU32` in this scope
[INFO] [stdout]   --> src/threadpool.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pool_size:NonZeroU32,
[INFO] [stdout]    |               ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 55 + use std::num::NonZeroU32;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::NonZeroU32`
[INFO] [stdout]    --> src/httpserver.rs:111:33
[INFO] [stdout]     |
[INFO] [stdout] 111 | use std::{collections::HashMap, num::NonZeroU32}; //Custom datatype to ensure u32 is nonzero.
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::insert_into`
[INFO] [stdout]  --> src/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use diesel::insert_into;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::OTP`
[INFO] [stdout]  --> src/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::schema::OTP;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/utils.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 | use aws_sdk_sns::{Client, Error};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NaiveDateTime` in this scope
[INFO] [stdout]   --> src/utils.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     timestamp:NaiveDateTime,
[INFO] [stdout]    |               ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `naive_timestamp` in this scope
[INFO] [stdout]   --> src/utils.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 |         timestamp: naive_timestamp,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NonZeroU32` in this scope
[INFO] [stdout]   --> src/threadpool.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pool_size:NonZeroU32,
[INFO] [stdout]    |               ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 55 + use std::num::NonZeroU32;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::NonZeroU32`
[INFO] [stdout]    --> src/httpserver.rs:111:33
[INFO] [stdout]     |
[INFO] [stdout] 111 | use std::{collections::HashMap, num::NonZeroU32}; //Custom datatype to ensure u32 is nonzero.
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::insert_into`
[INFO] [stdout]  --> src/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use diesel::insert_into;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::OTP`
[INFO] [stdout]  --> src/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::schema::OTP;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/utils.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 | use aws_sdk_sns::{Client, Error};
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `aws_config::from_env`: Use the `aws_config::defaults` function. If you don't care about future default behavior changes, you can continue to use this function by enabling the `behavior-version-latest` feature. Doing so will make this deprecation notice go away.
[INFO] [stdout]   --> src/utils.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let config = aws_config::from_env().region(region_provider).load().await;
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `aws_config::from_env`: Use the `aws_config::defaults` function. If you don't care about future default behavior changes, you can continue to use this function by enabling the `behavior-version-latest` feature. Doing so will make this deprecation notice go away.
[INFO] [stdout]   --> src/utils.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let config = aws_config::from_env().region(region_provider).load().await;
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/httpserver.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub async fn send_OTP(ctx:Context)-> impl IntoResponse{
[INFO] [stdout]     |                                      ----------------- expected `hyper::Response<Body>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 167 |     "OTP sent successfully".to_string()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Response<Body>`, found `String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `hyper::Response<Body>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: return type inferred to be `hyper::Response<Body>` here
[INFO] [stdout]    --> src/httpserver.rs:151:20
[INFO] [stdout]     |
[INFO] [stdout] 151 |               return hyper::Response::builder()
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 152 | |             .status(StatusCode::BAD_REQUEST)
[INFO] [stdout] 153 | |             .body(format!("could not parse JSON: {}", e).into())
[INFO] [stdout] 154 | |             .unwrap()
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/httpserver.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub async fn send_OTP(ctx:Context)-> impl IntoResponse{
[INFO] [stdout]     |                                      ----------------- expected `hyper::Response<Body>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 167 |     "OTP sent successfully".to_string()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Response<Body>`, found `String`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `hyper::Response<Body>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: return type inferred to be `hyper::Response<Body>` here
[INFO] [stdout]    --> src/httpserver.rs:151:20
[INFO] [stdout]     |
[INFO] [stdout] 151 |               return hyper::Response::builder()
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 152 | |             .status(StatusCode::BAD_REQUEST)
[INFO] [stdout] 153 | |             .body(format!("could not parse JSON: {}", e).into())
[INFO] [stdout] 154 | |             .unwrap()
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/httpserver.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub async fn resend_OTP(ctx:Context)-> impl IntoResponse{
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/httpserver.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub async fn resend_OTP(ctx:Context)-> impl IntoResponse{
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/httpserver.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub async fn verify_OTP(ctx:Context)-> impl IntoResponse{
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: type `Method` is non-empty
[INFO] [stdout]    --> src/httpserver.rs:197:19
[INFO] [stdout]     |
[INFO] [stdout] 197 |             match item.method{
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Method` defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/http-0.2.12/src/method.rs:46:1
[INFO] [stdout]     |
[INFO] [stdout] 46  | pub struct Method(Inner);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the matched value is of type `Method`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown
[INFO] [stdout]     |
[INFO] [stdout] 197 ~             match item.method {
[INFO] [stdout] 198 +                 _ => todo!(),
[INFO] [stdout] 199 +             }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/httpserver.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub async fn verify_OTP(ctx:Context)-> impl IntoResponse{
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: type `Method` is non-empty
[INFO] [stdout]    --> src/httpserver.rs:197:19
[INFO] [stdout]     |
[INFO] [stdout] 197 |             match item.method{
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Method` defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/http-0.2.12/src/method.rs:46:1
[INFO] [stdout]     |
[INFO] [stdout] 46  | pub struct Method(Inner);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the matched value is of type `Method`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown
[INFO] [stdout]     |
[INFO] [stdout] 197 ~             match item.method {
[INFO] [stdout] 198 +                 _ => todo!(),
[INFO] [stdout] 199 +             }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_key`
[INFO] [stdout]   --> src/utils.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let api_key = env::var("AWS_ACCESS_KEY_ID").expect("AWS_ACCESS_KEY_ID must be set");
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_key`
[INFO] [stdout]   --> src/utils.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let api_key = env::var("AWS_ACCESS_KEY_ID").expect("AWS_ACCESS_KEY_ID must be set");
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_secret_key`
[INFO] [stdout]   --> src/utils.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let api_secret_key = env::var("AWS_SECRET_ACCESS_KEY").expect("AWS_SECRET_ACCESS_KEY must be set");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_secret_key`
[INFO] [stdout]   --> src/utils.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let api_secret_key = env::var("AWS_SECRET_ACCESS_KEY").expect("AWS_SECRET_ACCESS_KEY must be set");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hyper::Request<Body>: Clone` is not satisfied
[INFO] [stdout]   --> src/httpserver.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(Clone,Debug)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub req:Request<Body>, //req body
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `hyper::Request<Body>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hyper::Request<Body>: Clone` is not satisfied
[INFO] [stdout]   --> src/httpserver.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(Clone,Debug)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub req:Request<Body>, //req body
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `hyper::Request<Body>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/utils.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn send_otp_to_db(phone_no:&str){
[INFO] [stdout]    |                       ^^^^^^^^ ---- expected due to this
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       expected `str`, found `phone_no`
[INFO] [stdout]    |                       `phone_no` is interpreted as a unit struct, not a new binding
[INFO] [stdout]    |                       help: introduce a new binding instead: `other_phone_no`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schema.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         phone_no -> Text,
[INFO] [stdout]    |         -------- unit struct defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/utils.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn send_otp_to_db(phone_no:&str){
[INFO] [stdout]    |                       ^^^^^^^^ ---- expected due to this
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       expected `str`, found `phone_no`
[INFO] [stdout]    |                       `phone_no` is interpreted as a unit struct, not a new binding
[INFO] [stdout]    |                       help: introduce a new binding instead: `other_phone_no`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/schema.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         phone_no -> Text,
[INFO] [stdout]    |         -------- unit struct defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/utils.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let connection =  establish_connection();
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^-- argument #1 of type `&str` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn establish_connection(connection_url: &str) -> Result<PgConnection, DatabaseConnError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^ --------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let connection =  establish_connection(/* &str */);
[INFO] [stdout]    |                                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/utils.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let connection =  establish_connection();
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^-- argument #1 of type `&str` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn establish_connection(connection_url: &str) -> Result<PgConnection, DatabaseConnError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^ --------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let connection =  establish_connection(/* &str */);
[INFO] [stdout]    |                                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/utils.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |         mainUser: phone_no,
[INFO] [stdout]    |                   ^^^^^^^^ expected `&str`, found `phone_no`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/utils.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |         mainUser: phone_no,
[INFO] [stdout]    |                   ^^^^^^^^ expected `&str`, found `phone_no`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:57:41
[INFO] [stdout]     |
[INFO] [stdout] 57  |     let mut router:Router = Router::new(routes_array); //define new router
[INFO] [stdout]     |                             ----------- ^^^^^^^^^^^^ expected `[&RoutesStruct; 3]`, found `[RoutesStruct; 3]`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected array `[&RoutesStruct; 3]`
[INFO] [stdout]                found array `[RoutesStruct; 3]`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/httpserver.rs:195:18
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub async fn new(routes:[&RoutesStruct;3]){
[INFO] [stdout]     |                  ^^^ ------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:57:41
[INFO] [stdout]     |
[INFO] [stdout] 57  |     let mut router:Router = Router::new(routes_array); //define new router
[INFO] [stdout]     |                             ----------- ^^^^^^^^^^^^ expected `[&RoutesStruct; 3]`, found `[RoutesStruct; 3]`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected array `[&RoutesStruct; 3]`
[INFO] [stdout]                found array `[RoutesStruct; 3]`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/httpserver.rs:195:18
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub async fn new(routes:[&RoutesStruct;3]){
[INFO] [stdout]     |                  ^^^ ------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut router:Router = Router::new(routes_array); //define new router
[INFO] [stdout]    |                    ------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Router`, found future
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut router:Router = Router::new(routes_array); //define new router
[INFO] [stdout]    |                    ------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Router`, found future
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `()` is not a future
[INFO] [stdout]    --> src/main.rs:63:22
[INFO] [stdout]     |
[INFO] [stdout] 63  |       let service_fn = make_service_fn(|_|{
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 64  | |
[INFO] [stdout] 65  | |     });
[INFO] [stdout]     | |______^ `()` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures::Future` is not implemented for `()`
[INFO] [stdout] note: required by a bound in `make_service_fn`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.13.10/src/service/make.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn make_service_fn<F, Target, Ret>(f: F) -> MakeServiceFn<F>
[INFO] [stdout]     |        --------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 141 |     Ret: Future,
[INFO] [stdout]     |          ^^^^^^ required by this bound in `make_service_fn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `()` is not a future
[INFO] [stdout]    --> src/main.rs:63:22
[INFO] [stdout]     |
[INFO] [stdout] 63  |       let service_fn = make_service_fn(|_|{
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 64  | |
[INFO] [stdout] 65  | |     });
[INFO] [stdout]     | |______^ `()` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures::Future` is not implemented for `()`
[INFO] [stdout] note: required by a bound in `make_service_fn`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.13.10/src/service/make.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn make_service_fn<F, Target, Ret>(f: F) -> MakeServiceFn<F>
[INFO] [stdout]     |        --------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 141 |     Ret: Future,
[INFO] [stdout]     |          ^^^^^^ required by this bound in `make_service_fn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `()` is not a future
[INFO] [stdout]    --> src/main.rs:69:44
[INFO] [stdout]     |
[INFO] [stdout] 69  |     let server = Server::bind(&addr).serve(service_fn);
[INFO] [stdout]     |                                      ----- ^^^^^^^^^^ `()` is not a future
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures::Future` is not implemented for `()`
[INFO] [stdout] note: there are multiple different versions of crate `hyper` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.13.10/src/service/make.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  |   pub trait MakeServiceRef<Target, ReqBody>: self::sealed::Sealed<(Target, ReqBody)> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout] ...
[INFO] [stdout] 148 |   pub struct MakeServiceFn<F> {
[INFO] [stdout]     |   --------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/httpserver.rs:4:5
[INFO] [stdout]     |
[INFO] [stdout] 4   |   use hyper::{body::to_bytes, Body, Method, Request, StatusCode}; // codes
[INFO] [stdout]     |       ----- one version of crate `hyper` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils.rs:58:5
[INFO] [stdout]     |
[INFO] [stdout] 58  |   use aws_config::meta::region::RegionProviderChain;
[INFO] [stdout]     |       ---------- one version of crate `hyper` used here, as a dependency of crate `aws_smithy_runtime`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.14.31/src/common/drain.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout] 25  | / pin_project! {
[INFO] [stdout] 26  | |     #[allow(missing_debug_implementations)]
[INFO] [stdout] 27  | |     pub struct Watching<F, FN> {
[INFO] [stdout] 28  | |         #[pin]
[INFO] [stdout] ...   |
[INFO] [stdout] 34  | | }
[INFO] [stdout]     | |_- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `hyper::service::make::MakeServiceFn<{closure@src/main.rs:63:38: 63:41}>` to implement `for<'a> Service<&'a AddrStream>`
[INFO] [stdout]     = note: required for `hyper::service::make::MakeServiceFn<{closure@src/main.rs:63:38: 63:41}>` to implement `hyper::service::make::MakeServiceRef<AddrStream, Body>`
[INFO] [stdout] note: required by a bound in `hyper::server::Builder::<I, E>::serve`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.13.10/src/server/mod.rs:447:12
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn serve<S, B>(self, new_service: S) -> Server<I, S, E>
[INFO] [stdout]     |            ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 447 |         S: MakeServiceRef<I::Conn, Body, ResBody = B>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::<I, E>::serve`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `()` is not a future
[INFO] [stdout]    --> src/main.rs:69:44
[INFO] [stdout]     |
[INFO] [stdout] 69  |     let server = Server::bind(&addr).serve(service_fn);
[INFO] [stdout]     |                                      ----- ^^^^^^^^^^ `()` is not a future
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures::Future` is not implemented for `()`
[INFO] [stdout] note: there are multiple different versions of crate `hyper` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.13.10/src/service/make.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  |   pub trait MakeServiceRef<Target, ReqBody>: self::sealed::Sealed<(Target, ReqBody)> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout] ...
[INFO] [stdout] 148 |   pub struct MakeServiceFn<F> {
[INFO] [stdout]     |   --------------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/httpserver.rs:4:5
[INFO] [stdout]     |
[INFO] [stdout] 4   |   use hyper::{body::to_bytes, Body, Method, Request, StatusCode}; // codes
[INFO] [stdout]     |       ----- one version of crate `hyper` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils.rs:58:5
[INFO] [stdout]     |
[INFO] [stdout] 58  |   use aws_config::meta::region::RegionProviderChain;
[INFO] [stdout]     |       ---------- one version of crate `hyper` used here, as a dependency of crate `aws_smithy_runtime`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.14.31/src/common/drain.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout] 25  | / pin_project! {
[INFO] [stdout] 26  | |     #[allow(missing_debug_implementations)]
[INFO] [stdout] 27  | |     pub struct Watching<F, FN> {
[INFO] [stdout] 28  | |         #[pin]
[INFO] [stdout] ...   |
[INFO] [stdout] 34  | | }
[INFO] [stdout]     | |_- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `hyper::service::make::MakeServiceFn<{closure@src/main.rs:63:38: 63:41}>` to implement `for<'a> Service<&'a AddrStream>`
[INFO] [stdout]     = note: required for `hyper::service::make::MakeServiceFn<{closure@src/main.rs:63:38: 63:41}>` to implement `hyper::service::make::MakeServiceRef<AddrStream, Body>`
[INFO] [stdout] note: required by a bound in `hyper::server::Builder::<I, E>::serve`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-0.13.10/src/server/mod.rs:447:12
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn serve<S, B>(self, new_service: S) -> Server<I, S, E>
[INFO] [stdout]     |            ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 447 |         S: MakeServiceRef<I::Conn, Body, ResBody = B>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::<I, E>::serve`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<str as ToString>::to_string` in constants
[INFO] [stdout]   --> src/main.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |             route:"/sendOTP".to_string(),
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<str as ToString>::to_string` in constants
[INFO] [stdout]   --> src/main.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |             route:"/sendOTP".to_string(),
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<fn(httpserver::Context) -> impl futures::Future<Output = impl IntoResponse> {send_OTP}>::new` in constants
[INFO] [stdout]   --> src/main.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |             handler:Box::new(send_OTP)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<str as ToString>::to_string` in constants
[INFO] [stdout]   --> src/main.rs:47:32
[INFO] [stdout]    |
[INFO] [stdout] 47 |             route:"/resendOTP".to_string(),
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<fn(httpserver::Context) -> impl futures::Future<Output = impl IntoResponse> {resend_OTP}>::new` in constants
[INFO] [stdout]   --> src/main.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |             handler:Box::new(resend_OTP)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<str as ToString>::to_string` in constants
[INFO] [stdout]   --> src/main.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |             route:"/verifyOTP".to_string(),
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<fn(httpserver::Context) -> impl futures::Future<Output = impl IntoResponse> {verify_OTP}>::new` in constants
[INFO] [stdout]   --> src/main.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |             handler:Box::new(verify_OTP)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<fn(httpserver::Context) -> impl futures::Future<Output = impl IntoResponse> {send_OTP}>::new` in constants
[INFO] [stdout]   --> src/main.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |             handler:Box::new(send_OTP)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<str as ToString>::to_string` in constants
[INFO] [stdout]   --> src/main.rs:47:32
[INFO] [stdout]    |
[INFO] [stdout] 47 |             route:"/resendOTP".to_string(),
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<fn(httpserver::Context) -> impl futures::Future<Output = impl IntoResponse> {resend_OTP}>::new` in constants
[INFO] [stdout]   --> src/main.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |             handler:Box::new(resend_OTP)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<str as ToString>::to_string` in constants
[INFO] [stdout]   --> src/main.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |             route:"/verifyOTP".to_string(),
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const associated function `Box::<fn(httpserver::Context) -> impl futures::Future<Output = impl IntoResponse> {verify_OTP}>::new` in constants
[INFO] [stdout]   --> src/main.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |             handler:Box::new(verify_OTP)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0015, E0061, E0277, E0308, E0412, E0425, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0015, E0061, E0277, E0308, E0412, E0425, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `otp_service` (bin "otp_service") due to 22 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `otp_service` (bin "otp_service" test) due to 22 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9b0f30ad51529af21412e1f4a93719b48da6f7da8f71bcd36c5e4365e7441213", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b0f30ad51529af21412e1f4a93719b48da6f7da8f71bcd36c5e4365e7441213", kill_on_drop: false }`
[INFO] [stdout] 9b0f30ad51529af21412e1f4a93719b48da6f7da8f71bcd36c5e4365e7441213
