[INFO] cloning repository https://github.com/GOPU-GNANESHWAR-REDDY/rust-blog-api
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GOPU-GNANESHWAR-REDDY/rust-blog-api" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGOPU-GNANESHWAR-REDDY%2Frust-blog-api", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGOPU-GNANESHWAR-REDDY%2Frust-blog-api'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 994bcf0b0900fa3fead34f5790483f525cf38386
[INFO] checking GOPU-GNANESHWAR-REDDY/rust-blog-api against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGOPU-GNANESHWAR-REDDY%2Frust-blog-api" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/GOPU-GNANESHWAR-REDDY/rust-blog-api
[INFO] finished tweaking git repo https://github.com/GOPU-GNANESHWAR-REDDY/rust-blog-api
[INFO] tweaked toml for git repo https://github.com/GOPU-GNANESHWAR-REDDY/rust-blog-api written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/GOPU-GNANESHWAR-REDDY/rust-blog-api on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/GOPU-GNANESHWAR-REDDY/rust-blog-api 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7b18864d1353b45bf218c5b9db9aa4499cbcb9a5a1d5600ca62244122b74309a
[INFO] running `Command { std: "docker" "start" "-a" "7b18864d1353b45bf218c5b9db9aa4499cbcb9a5a1d5600ca62244122b74309a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b18864d1353b45bf218c5b9db9aa4499cbcb9a5a1d5600ca62244122b74309a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b18864d1353b45bf218c5b9db9aa4499cbcb9a5a1d5600ca62244122b74309a", kill_on_drop: false }`
[INFO] [stdout] 7b18864d1353b45bf218c5b9db9aa4499cbcb9a5a1d5600ca62244122b74309a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b4a8112b4438f30e6a8322fde72ee82777a5f10520c26b3605c2f371854f41a0
[INFO] running `Command { std: "docker" "start" "-a" "b4a8112b4438f30e6a8322fde72ee82777a5f10520c26b3605c2f371854f41a0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling ref-cast v1.0.24
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]     Checking inlinable_string v0.1.15
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]     Checking toml_write v0.1.1
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]     Checking winnow v0.7.10
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling pq-sys v0.7.1
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling state v0.6.0
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]    Compiling rocket v0.5.1
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking r2d2 v0.8.10
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling rocket_sync_db_pools v0.1.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking atomic v0.5.3
[INFO] [stderr]     Checking binascii v0.1.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]    Compiling devise_core v0.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling ref-cast-impl v1.0.24
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling devise_codegen v0.4.2
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]    Compiling devise v0.4.2
[INFO] [stderr]    Compiling rocket_sync_db_pools_codegen v0.1.0
[INFO] [stderr]    Compiling rocket_http v0.5.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling dsl_auto_type v0.1.3
[INFO] [stderr]    Compiling diesel_derives v2.2.5
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling rocket_codegen v0.5.1
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking toml_datetime v0.6.9
[INFO] [stderr]     Checking ubyte v0.10.4
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking toml_edit v0.22.26
[INFO] [stderr]     Checking diesel v2.2.10
[INFO] [stderr]     Checking toml v0.8.22
[INFO] [stderr]     Checking blog_api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: unknown start of token: \u{2014}
[INFO] [stdout]    --> src/main.rs:253:23
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout]     |                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: Unicode character '—' (Em Dash) looks like '-' (Minus/Hyphen), but it is not
[INFO] [stdout]     |
[INFO] [stdout] 253 -                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout] 253 +                 .left - join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unknown start of token: \u{2014}
[INFO] [stdout]    --> src/main.rs:253:23
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout]     |                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: Unicode character '—' (Em Dash) looks like '-' (Minus/Hyphen), but it is not
[INFO] [stdout]     |
[INFO] [stdout] 253 -                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout] 253 +                 .left - join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0259]: the name `rocket` is defined multiple times
[INFO] [stdout]    --> src/main.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | extern crate rocket;
[INFO] [stdout]     | -------------------- previous import of the extern crate `rocket` here
[INFO] [stdout] ...
[INFO] [stdout] 163 | extern crate rocket;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `rocket` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0259]: the name `diesel` is defined multiple times
[INFO] [stdout]    --> src/main.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 2   | extern crate diesel;
[INFO] [stdout]     | -------------------- previous import of the extern crate `diesel` here
[INFO] [stdout] ...
[INFO] [stdout] 165 | extern crate diesel;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `diesel` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `diesel` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0259]: the name `rocket` is defined multiple times
[INFO] [stdout]    --> src/main.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | extern crate rocket;
[INFO] [stdout]     | -------------------- previous import of the extern crate `rocket` here
[INFO] [stdout] ...
[INFO] [stdout] 163 | extern crate rocket;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `rocket` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0259]: the name `diesel` is defined multiple times
[INFO] [stdout]    --> src/main.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 2   | extern crate diesel;
[INFO] [stdout]     | -------------------- previous import of the extern crate `diesel` here
[INFO] [stdout] ...
[INFO] [stdout] 165 | extern crate diesel;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ `diesel` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `diesel` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `schema` is defined multiple times
[INFO] [stdout]    --> src/main.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 7   | mod schema;
[INFO] [stdout]     | ----------- previous definition of the module `schema` here
[INFO] [stdout] ...
[INFO] [stdout] 172 | mod schema;
[INFO] [stdout]     | ^^^^^^^^^^^ `schema` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `schema` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `models` is defined multiple times
[INFO] [stdout]    --> src/main.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | mod models;
[INFO] [stdout]     | ----------- previous definition of the module `models` here
[INFO] [stdout] ...
[INFO] [stdout] 173 | mod models;
[INFO] [stdout]     | ^^^^^^^^^^^ `models` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `models` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `schema` is defined multiple times
[INFO] [stdout]    --> src/main.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 7   | mod schema;
[INFO] [stdout]     | ----------- previous definition of the module `schema` here
[INFO] [stdout] ...
[INFO] [stdout] 172 | mod schema;
[INFO] [stdout]     | ^^^^^^^^^^^ `schema` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `schema` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Json` is defined multiple times
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 13  | use rocket::serde::json::Json;
[INFO] [stdout]     |     ------------------------- previous import of the type `Json` here
[INFO] [stdout] ...
[INFO] [stdout] 167 | use rocket::serde::json::Json;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ `Json` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Json` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0254]: the name `diesel` is defined multiple times
[INFO] [stdout]    --> src/main.rs:168:38
[INFO] [stdout]     |
[INFO] [stdout] 2   | extern crate diesel;
[INFO] [stdout]     | -------------------- previous import of the extern crate `diesel` here
[INFO] [stdout] ...
[INFO] [stdout] 168 | use rocket_sync_db_pools::{database, diesel};
[INFO] [stdout]     |                                      ^^^^^^ `diesel` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `diesel` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `models` is defined multiple times
[INFO] [stdout]    --> src/main.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | mod models;
[INFO] [stdout]     | ----------- previous definition of the module `models` here
[INFO] [stdout] ...
[INFO] [stdout] 173 | mod models;
[INFO] [stdout]     | ^^^^^^^^^^^ `models` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `models` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Json` is defined multiple times
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 13  | use rocket::serde::json::Json;
[INFO] [stdout]     |     ------------------------- previous import of the type `Json` here
[INFO] [stdout] ...
[INFO] [stdout] 167 | use rocket::serde::json::Json;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ `Json` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Json` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0254]: the name `diesel` is defined multiple times
[INFO] [stdout]    --> src/main.rs:168:38
[INFO] [stdout]     |
[INFO] [stdout] 2   | extern crate diesel;
[INFO] [stdout]     | -------------------- previous import of the extern crate `diesel` here
[INFO] [stdout] ...
[INFO] [stdout] 168 | use rocket_sync_db_pools::{database, diesel};
[INFO] [stdout]     |                                      ^^^^^^ `diesel` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `diesel` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `create_user` is defined multiple times
[INFO] [stdout]    --> src/main.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 28  | / async fn create_user(
[INFO] [stdout] 29  | |     pool: &State<DbPool>,
[INFO] [stdout] 30  | |     new_user: Json<NewUser>,
[INFO] [stdout] 31  | | ) -> Result<Json<User>, Status> {
[INFO] [stdout] ...   |
[INFO] [stdout] 39  | |         .map_err(|_| Status::InternalServerError)
[INFO] [stdout] 40  | | }
[INFO] [stdout]     | |_- previous definition of the value `create_user` here
[INFO] [stdout] ...
[INFO] [stdout] 182 |   async fn create_user(conn: DbConn, new_user: Json<NewUser>) -> Json<User> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `create_user` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `create_user` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `create_user` is defined multiple times
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ------------------------------------------------------- previous definition of the type `create_user` here
[INFO] [stdout] ...
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `create_user` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `create_user` must be defined only once in the type namespace of this module
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `create_post` is defined multiple times
[INFO] [stdout]    --> src/main.rs:195:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | / async fn create_post(
[INFO] [stdout] 44  | |     pool: &State<DbPool>,
[INFO] [stdout] 45  | |     input: Json<CreatePostInput>,
[INFO] [stdout] 46  | | ) -> Result<Json<Post>, Status> {
[INFO] [stdout] ...   |
[INFO] [stdout] 89  | |     Ok(Json(created_post))
[INFO] [stdout] 90  | | }
[INFO] [stdout]     | |_- previous definition of the value `create_post` here
[INFO] [stdout] ...
[INFO] [stdout] 195 |   async fn create_post(conn: DbConn, new_post: Json<NewPost>) -> Json<Post> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `create_post` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `create_post` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `create_post` is defined multiple times
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ---------------------------------------------------- previous definition of the type `create_post` here
[INFO] [stdout] ...
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `create_post` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `create_post` must be defined only once in the type namespace of this module
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `create_user` is defined multiple times
[INFO] [stdout]    --> src/main.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 28  | / async fn create_user(
[INFO] [stdout] 29  | |     pool: &State<DbPool>,
[INFO] [stdout] 30  | |     new_user: Json<NewUser>,
[INFO] [stdout] 31  | | ) -> Result<Json<User>, Status> {
[INFO] [stdout] ...   |
[INFO] [stdout] 39  | |         .map_err(|_| Status::InternalServerError)
[INFO] [stdout] 40  | | }
[INFO] [stdout]     | |_- previous definition of the value `create_user` here
[INFO] [stdout] ...
[INFO] [stdout] 182 |   async fn create_user(conn: DbConn, new_user: Json<NewUser>) -> Json<User> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `create_user` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `create_user` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `create_user` is defined multiple times
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ------------------------------------------------------- previous definition of the type `create_user` here
[INFO] [stdout] ...
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `create_user` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `create_user` must be defined only once in the type namespace of this module
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `list_posts` is defined multiple times
[INFO] [stdout]    --> src/main.rs:244:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / async fn list_posts(
[INFO] [stdout] 101 | |     pool: &State<DbPool>,
[INFO] [stdout] 102 | |     query: Form<PostQuery>,
[INFO] [stdout] 103 | | ) -> Result<Json<PaginatedResponse<Post>>, Status> {
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |     }))
[INFO] [stdout] 147 | | }
[INFO] [stdout]     | |_- previous definition of the value `list_posts` here
[INFO] [stdout] ...
[INFO] [stdout] 244 |   async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `list_posts` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `list_posts` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `list_posts` is defined multiple times
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | -------------------------- previous definition of the type `list_posts` here
[INFO] [stdout] ...
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `list_posts` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `list_posts` must be defined only once in the type namespace of this module
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `rocket` is defined multiple times
[INFO] [stdout]    --> src/main.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn rocket() -> Rocket<Build> {
[INFO] [stdout]     | ---------------------------- previous definition of the value `rocket` here
[INFO] [stdout] ...
[INFO] [stdout] 304 | fn rocket() -> _ {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ `rocket` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `main` is defined multiple times
[INFO] [stdout]    --> src/main.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn rocket() -> Rocket<Build> {
[INFO] [stdout]     | ---------------------------- previous definition of the value `main` here
[INFO] [stdout] ...
[INFO] [stdout] 304 | fn rocket() -> _ {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ `main` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `main` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `User` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 22  |     PostWithTags, User,
[INFO] [stdout]     |                   ---- previous import of the type `User` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |              ^^^^--
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `User` reimported here
[INFO] [stdout]     |              help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `User` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `NewUser` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:20
[INFO] [stdout]     |
[INFO] [stdout] 21  |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]     |                               ------- previous import of the type `NewUser` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |                    ^^^^^^^--
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `NewUser` reimported here
[INFO] [stdout]     |                    help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NewUser` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Post` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:29
[INFO] [stdout]     |
[INFO] [stdout] 21  |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]     |                                                                                   ---- previous import of the type `Post` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |                             ^^^^--
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `Post` reimported here
[INFO] [stdout]     |                             help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Post` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `NewPost` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:35
[INFO] [stdout]     |
[INFO] [stdout] 21  |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]     |                      ------- previous import of the type `NewPost` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |                                   ^^^^^^^--
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `NewPost` reimported here
[INFO] [stdout]     |                                   help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NewPost` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `PaginationMeta` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:72
[INFO] [stdout]     |
[INFO] [stdout] 21  |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]     |                                                -------------- previous import of the type `PaginationMeta` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^ `PaginationMeta` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PaginationMeta` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `rocket_uri_macro_create_user` is defined multiple times
[INFO] [stdout]    --> src/main.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 28  | async fn create_user(
[INFO] [stdout]     |          ----------- previous import of the macro `rocket_uri_macro_create_user` here
[INFO] [stdout] ...
[INFO] [stdout] 182 | async fn create_user(conn: DbConn, new_user: Json<NewUser>) -> Json<User> {
[INFO] [stdout]     |          ^^^^^^^^^^^ `rocket_uri_macro_create_user` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket_uri_macro_create_user` must be defined only once in the macro namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]     |
[INFO] [stdout] 182 | async fn create_user as other_rocket_uri_macro_create_user(conn: DbConn, new_user: Json<NewUser>) -> Json<User> {
[INFO] [stdout]     |                      +++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `rocket_uri_macro_create_post` is defined multiple times
[INFO] [stdout]    --> src/main.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 43  | async fn create_post(
[INFO] [stdout]     |          ----------- previous import of the macro `rocket_uri_macro_create_post` here
[INFO] [stdout] ...
[INFO] [stdout] 195 | async fn create_post(conn: DbConn, new_post: Json<NewPost>) -> Json<Post> {
[INFO] [stdout]     |          ^^^^^^^^^^^ `rocket_uri_macro_create_post` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket_uri_macro_create_post` must be defined only once in the macro namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]     |
[INFO] [stdout] 195 | async fn create_post as other_rocket_uri_macro_create_post(conn: DbConn, new_post: Json<NewPost>) -> Json<Post> {
[INFO] [stdout]     |                      +++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `rocket_uri_macro_list_posts` is defined multiple times
[INFO] [stdout]    --> src/main.rs:244:10
[INFO] [stdout]     |
[INFO] [stdout] 100 | async fn list_posts(
[INFO] [stdout]     |          ---------- previous import of the macro `rocket_uri_macro_list_posts` here
[INFO] [stdout] ...
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |          ^^^^^^^^^^ `rocket_uri_macro_list_posts` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket_uri_macro_list_posts` must be defined only once in the macro namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts as other_rocket_uri_macro_list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |                     ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `create_post` is defined multiple times
[INFO] [stdout]    --> src/main.rs:195:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | / async fn create_post(
[INFO] [stdout] 44  | |     pool: &State<DbPool>,
[INFO] [stdout] 45  | |     input: Json<CreatePostInput>,
[INFO] [stdout] 46  | | ) -> Result<Json<Post>, Status> {
[INFO] [stdout] ...   |
[INFO] [stdout] 89  | |     Ok(Json(created_post))
[INFO] [stdout] 90  | | }
[INFO] [stdout]     | |_- previous definition of the value `create_post` here
[INFO] [stdout] ...
[INFO] [stdout] 195 |   async fn create_post(conn: DbConn, new_post: Json<NewPost>) -> Json<Post> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `create_post` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `create_post` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `create_post` is defined multiple times
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ---------------------------------------------------- previous definition of the type `create_post` here
[INFO] [stdout] ...
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `create_post` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `create_post` must be defined only once in the type namespace of this module
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `list_posts` is defined multiple times
[INFO] [stdout]    --> src/main.rs:244:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / async fn list_posts(
[INFO] [stdout] 101 | |     pool: &State<DbPool>,
[INFO] [stdout] 102 | |     query: Form<PostQuery>,
[INFO] [stdout] 103 | | ) -> Result<Json<PaginatedResponse<Post>>, Status> {
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |     }))
[INFO] [stdout] 147 | | }
[INFO] [stdout]     | |_- previous definition of the value `list_posts` here
[INFO] [stdout] ...
[INFO] [stdout] 244 |   async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `list_posts` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `list_posts` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `list_posts` is defined multiple times
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | -------------------------- previous definition of the type `list_posts` here
[INFO] [stdout] ...
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `list_posts` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `list_posts` must be defined only once in the type namespace of this module
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `rocket` is defined multiple times
[INFO] [stdout]    --> src/main.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn rocket() -> Rocket<Build> {
[INFO] [stdout]     | ---------------------------- previous definition of the value `rocket` here
[INFO] [stdout] ...
[INFO] [stdout] 304 | fn rocket() -> _ {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ `rocket` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `main` is defined multiple times
[INFO] [stdout]    --> src/main.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn rocket() -> Rocket<Build> {
[INFO] [stdout]     | ---------------------------- previous definition of the value `main` here
[INFO] [stdout] ...
[INFO] [stdout] 304 | fn rocket() -> _ {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ `main` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `main` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `User` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 22  |     PostWithTags, User,
[INFO] [stdout]     |                   ---- previous import of the type `User` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |              ^^^^--
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `User` reimported here
[INFO] [stdout]     |              help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `User` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `NewUser` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:20
[INFO] [stdout]     |
[INFO] [stdout] 21  |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]     |                               ------- previous import of the type `NewUser` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |                    ^^^^^^^--
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `NewUser` reimported here
[INFO] [stdout]     |                    help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NewUser` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Post` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:29
[INFO] [stdout]     |
[INFO] [stdout] 21  |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]     |                                                                                   ---- previous import of the type `Post` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |                             ^^^^--
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `Post` reimported here
[INFO] [stdout]     |                             help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Post` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `NewPost` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:35
[INFO] [stdout]     |
[INFO] [stdout] 21  |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]     |                      ------- previous import of the type `NewPost` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |                                   ^^^^^^^--
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `NewPost` reimported here
[INFO] [stdout]     |                                   help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NewPost` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `PaginationMeta` is defined multiple times
[INFO] [stdout]    --> src/main.rs:176:72
[INFO] [stdout]     |
[INFO] [stdout] 21  |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]     |                                                -------------- previous import of the type `PaginationMeta` here
[INFO] [stdout] ...
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^ `PaginationMeta` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PaginationMeta` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `rocket_uri_macro_create_user` is defined multiple times
[INFO] [stdout]    --> src/main.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 28  | async fn create_user(
[INFO] [stdout]     |          ----------- previous import of the macro `rocket_uri_macro_create_user` here
[INFO] [stdout] ...
[INFO] [stdout] 182 | async fn create_user(conn: DbConn, new_user: Json<NewUser>) -> Json<User> {
[INFO] [stdout]     |          ^^^^^^^^^^^ `rocket_uri_macro_create_user` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket_uri_macro_create_user` must be defined only once in the macro namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]     |
[INFO] [stdout] 182 | async fn create_user as other_rocket_uri_macro_create_user(conn: DbConn, new_user: Json<NewUser>) -> Json<User> {
[INFO] [stdout]     |                      +++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `rocket_uri_macro_create_post` is defined multiple times
[INFO] [stdout]    --> src/main.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 43  | async fn create_post(
[INFO] [stdout]     |          ----------- previous import of the macro `rocket_uri_macro_create_post` here
[INFO] [stdout] ...
[INFO] [stdout] 195 | async fn create_post(conn: DbConn, new_post: Json<NewPost>) -> Json<Post> {
[INFO] [stdout]     |          ^^^^^^^^^^^ `rocket_uri_macro_create_post` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket_uri_macro_create_post` must be defined only once in the macro namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]     |
[INFO] [stdout] 195 | async fn create_post as other_rocket_uri_macro_create_post(conn: DbConn, new_post: Json<NewPost>) -> Json<Post> {
[INFO] [stdout]     |                      +++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `rocket_uri_macro_list_posts` is defined multiple times
[INFO] [stdout]    --> src/main.rs:244:10
[INFO] [stdout]     |
[INFO] [stdout] 100 | async fn list_posts(
[INFO] [stdout]     |          ---------- previous import of the macro `rocket_uri_macro_list_posts` here
[INFO] [stdout] ...
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |          ^^^^^^^^^^ `rocket_uri_macro_list_posts` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `rocket_uri_macro_list_posts` must be defined only once in the macro namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts as other_rocket_uri_macro_list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |                     ++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `dotenvy`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use dotenvy::dotenv;
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `dotenvy`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 12 - use dotenvy::dotenv;
[INFO] [stdout] 12 + use dotenv::dotenv;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `tags` in `schema`
[INFO] [stdout]   --> src/main.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 48 |     use crate::schema::tags::dsl::{id as tag_id, name as tag_name, tags as tags_table};
[INFO] [stdout]    |                        ^^^^ could not find `tags` in `schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::models::CreatePostInput`, `crate::models::NewTag`, `crate::models::PaginatedResponse`, `crate::models::PostWithTags`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^                    ^^^^^^                  ^^^^^^^^^^^^^^^^^ no `PaginatedResponse` in `models`
[INFO] [stdout]    |     |                                  |
[INFO] [stdout]    |     |                                  no `NewTag` in `models`
[INFO] [stdout]    |     no `CreatePostInput` in `models`
[INFO] [stdout] 22 |     PostWithTags, User,
[INFO] [stdout]    |     ^^^^^^^^^^^^ no `PostWithTags` in `models`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `dotenvy`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use dotenvy::dotenv;
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `dotenvy`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 12 - use dotenvy::dotenv;
[INFO] [stdout] 12 + use dotenv::dotenv;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `tags` in `schema`
[INFO] [stdout]   --> src/main.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 48 |     use crate::schema::tags::dsl::{id as tag_id, name as tag_name, tags as tags_table};
[INFO] [stdout]    |                        ^^^^ could not find `tags` in `schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::models::CreatePostInput`, `crate::models::NewTag`, `crate::models::PaginatedResponse`, `crate::models::PostWithTags`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     CreatePostInput, NewPost, NewUser, NewTag, PaginationMeta, PaginatedResponse, Post,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^                    ^^^^^^                  ^^^^^^^^^^^^^^^^^ no `PaginatedResponse` in `models`
[INFO] [stdout]    |     |                                  |
[INFO] [stdout]    |     |                                  no `NewTag` in `models`
[INFO] [stdout]    |     no `CreatePostInput` in `models`
[INFO] [stdout] 22 |     PostWithTags, User,
[INFO] [stdout]    |     ^^^^^^^^^^^^ no `PostWithTags` in `models`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `users`
[INFO] [stdout]   --> src/models.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[diesel(table_name = users)]
[INFO] [stdout]    |                       ^^^^^ use of unresolved module or unlinked crate `users`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `users`, use `cargo add users` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::users::dsl::users;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `posts`
[INFO] [stdout]   --> src/models.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[diesel(table_name = posts)]
[INFO] [stdout]    |                       ^^^^^ use of unresolved module or unlinked crate `posts`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `posts`, use `cargo add posts` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::posts::dsl::posts;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `posts_tags`
[INFO] [stdout]   --> src/models.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[diesel(table_name = posts_tags)]
[INFO] [stdout]    |                       ^^^^^^^^^^ use of unresolved module or unlinked crate `posts_tags`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `posts_tags`, use `cargo add posts_tags` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::posts_tags::dsl::posts_tags;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `post_id` in module `crate::schema::posts_tags`
[INFO] [stdout]   --> src/main.rs:82:44
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 crate::schema::posts_tags::post_id.eq(created_post.id),
[INFO] [stdout]    |                                            ^^^^^^^ not found in `crate::schema::posts_tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `tag_id` in module `crate::schema::posts_tags`
[INFO] [stdout]   --> src/main.rs:83:44
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 crate::schema::posts_tags::tag_id.eq(tid),
[INFO] [stdout]    |                                            ^^^^^^ not found in `crate::schema::posts_tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `cou` in this scope
[INFO] [stdout]    --> src/main.rs:258:2
[INFO] [stdout]     |
[INFO] [stdout] 258 |  cou            }
[INFO] [stdout]     |  ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::sql_types::*`
[INFO] [stdout]  --> src/schema.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use diesel::sql_types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::serde::json::Json`
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | use rocket::serde::json::Json;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel`
[INFO] [stdout]    --> src/main.rs:168:38
[INFO] [stdout]     |
[INFO] [stdout] 168 | use rocket_sync_db_pools::{database, diesel};
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude::*`
[INFO] [stdout]    --> src/main.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | use diesel::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NewPost`, `NewUser`, `PaginationMeta`, `Post`, and `User`
[INFO] [stdout]    --> src/main.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |              ^^^^  ^^^^^^^  ^^^^  ^^^^^^^                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `users`
[INFO] [stdout]   --> src/models.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[diesel(table_name = users)]
[INFO] [stdout]    |                       ^^^^^ use of unresolved module or unlinked crate `users`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `users`, use `cargo add users` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::users::dsl::users;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `posts`
[INFO] [stdout]   --> src/models.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[diesel(table_name = posts)]
[INFO] [stdout]    |                       ^^^^^ use of unresolved module or unlinked crate `posts`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `posts`, use `cargo add posts` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::posts::dsl::posts;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `posts_tags`
[INFO] [stdout]   --> src/models.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[diesel(table_name = posts_tags)]
[INFO] [stdout]    |                       ^^^^^^^^^^ use of unresolved module or unlinked crate `posts_tags`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `posts_tags`, use `cargo add posts_tags` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::posts_tags::dsl::posts_tags;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `post_id` in module `crate::schema::posts_tags`
[INFO] [stdout]   --> src/main.rs:82:44
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 crate::schema::posts_tags::post_id.eq(created_post.id),
[INFO] [stdout]    |                                            ^^^^^^^ not found in `crate::schema::posts_tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `tag_id` in module `crate::schema::posts_tags`
[INFO] [stdout]   --> src/main.rs:83:44
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 crate::schema::posts_tags::tag_id.eq(tid),
[INFO] [stdout]    |                                            ^^^^^^ not found in `crate::schema::posts_tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `cou` in this scope
[INFO] [stdout]    --> src/main.rs:258:2
[INFO] [stdout]     |
[INFO] [stdout] 258 |  cou            }
[INFO] [stdout]     |  ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::sql_types::*`
[INFO] [stdout]  --> src/schema.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use diesel::sql_types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::serde::json::Json`
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | use rocket::serde::json::Json;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel`
[INFO] [stdout]    --> src/main.rs:168:38
[INFO] [stdout]     |
[INFO] [stdout] 168 | use rocket_sync_db_pools::{database, diesel};
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude::*`
[INFO] [stdout]    --> src/main.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | use diesel::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NewPost`, `NewUser`, `PaginationMeta`, `Post`, and `User`
[INFO] [stdout]    --> src/main.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 | use models::{User, NewUser, Post, NewPost, NewPostTag, PaginatedPosts, PaginationMeta};
[INFO] [stdout]     |              ^^^^  ^^^^^^^  ^^^^  ^^^^^^^                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `tags` in initializer of `models::NewPost`
[INFO] [stdout]   --> src/main.rs:53:20
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let new_post = NewPost {
[INFO] [stdout]    |                    ^^^^^^^ missing `tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `tags` in initializer of `models::NewPost`
[INFO] [stdout]   --> src/main.rs:53:20
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let new_post = NewPost {
[INFO] [stdout]    |                    ^^^^^^^ missing `tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Nullable<Integer>, Text, Text): CompatibleType<Post, Pg>` is not satisfied
[INFO] [stdout]     --> src/main.rs:124:23
[INFO] [stdout]      |
[INFO] [stdout] 124  |         .load::<Post>(&mut conn)
[INFO] [stdout]      |          ----         ^^^^^^^^^ the trait `load_dsl::private::CompatibleType<models::Post, Pg>` is not implemented for `(Integer, Nullable<Integer>, Text, Text)`
[INFO] [stdout]      |          |
[INFO] [stdout]      |          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(Pg))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `models::Post` and in your query `.select(models::Post::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                (ST0, ST1)
[INFO] [stdout]                (ST0, ST1, ST2)
[INFO] [stdout]                (ST0, ST1, ST2, ST3)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4, ST5)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4, ST5, ST6)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8)
[INFO] [stdout]              and 24 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, models::Post>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.2.10/src/query_dsl/mod.rs:1542:15
[INFO] [stdout]      |
[INFO] [stdout] 1540 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1541 |     where
[INFO] [stdout] 1542 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/blog_api-a842570b05057305.long-type-6667791413831518348.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |             current_page: page,
[INFO] [stdout]     |                           ^^^^ expected `i32`, found `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:140:23
[INFO] [stdout]     |
[INFO] [stdout] 140 |             per_page: limit,
[INFO] [stdout]     |                       ^^^^^ expected `i32`, found `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             from,
[INFO] [stdout]     |             ^^^^ expected `i32`, found `i64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
[INFO] [stdout]     |
[INFO] [stdout] 141 |             from: from.try_into().unwrap(),
[INFO] [stdout]     |             +++++     ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |             to,
[INFO] [stdout]     |             ^^ expected `i32`, found `i64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
[INFO] [stdout]     |
[INFO] [stdout] 142 |             to: to.try_into().unwrap(),
[INFO] [stdout]     |             +++   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             total_pages,
[INFO] [stdout]     |             ^^^^^^^^^^^ expected `i32`, found `i64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
[INFO] [stdout]     |
[INFO] [stdout] 143 |             total_pages: total_pages.try_into().unwrap(),
[INFO] [stdout]     |             ++++++++++++            ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Nullable<Integer>, Text, Text): CompatibleType<Post, Pg>` is not satisfied
[INFO] [stdout]     --> src/main.rs:124:23
[INFO] [stdout]      |
[INFO] [stdout] 124  |         .load::<Post>(&mut conn)
[INFO] [stdout]      |          ----         ^^^^^^^^^ the trait `load_dsl::private::CompatibleType<models::Post, Pg>` is not implemented for `(Integer, Nullable<Integer>, Text, Text)`
[INFO] [stdout]      |          |
[INFO] [stdout]      |          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(Pg))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `models::Post` and in your query `.select(models::Post::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                (ST0, ST1)
[INFO] [stdout]                (ST0, ST1, ST2)
[INFO] [stdout]                (ST0, ST1, ST2, ST3)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4, ST5)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4, ST5, ST6)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7)
[INFO] [stdout]                (ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8)
[INFO] [stdout]              and 24 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, models::Post>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.2.10/src/query_dsl/mod.rs:1542:15
[INFO] [stdout]      |
[INFO] [stdout] 1540 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1541 |     where
[INFO] [stdout] 1542 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/blog_api-399abfd34ee8166f.long-type-17908192646991234958.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |             current_page: page,
[INFO] [stdout]     |                           ^^^^ expected `i32`, found `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:140:23
[INFO] [stdout]     |
[INFO] [stdout] 140 |             per_page: limit,
[INFO] [stdout]     |                       ^^^^^ expected `i32`, found `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             from,
[INFO] [stdout]     |             ^^^^ expected `i32`, found `i64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
[INFO] [stdout]     |
[INFO] [stdout] 141 |             from: from.try_into().unwrap(),
[INFO] [stdout]     |             +++++     ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |             to,
[INFO] [stdout]     |             ^^ expected `i32`, found `i64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
[INFO] [stdout]     |
[INFO] [stdout] 142 |             to: to.try_into().unwrap(),
[INFO] [stdout]     |             +++   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             total_pages,
[INFO] [stdout]     |             ^^^^^^^^^^^ expected `i32`, found `i64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
[INFO] [stdout]     |
[INFO] [stdout] 143 |             total_pages: total_pages.try_into().unwrap(),
[INFO] [stdout]     |             ++++++++++++            ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `left` on type `SelectStatement<FromClause<JoinOn<Join<table, table, ...>, ...>>>`
[INFO] [stdout]    --> src/main.rs:253:18
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout]     |                  ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/blog_api-a842570b05057305.long-type-10383693030493965720.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `join` in this scope
[INFO] [stdout]    --> src/main.rs:253:25
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout]     |                         ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: use the `.` operator to call the method `InternalJoinDsl::join` on `query_source::joins::OnClauseWrapper<schema::posts_tags::table, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::posts::columns::id, schema::posts_tags::columns::fk_post_id>>>`
[INFO] [stdout]     |
[INFO] [stdout] 253 -                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout] 253 +                 .left — posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)).join()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_info`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_info`
[INFO] [stdout] ...
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | -------------------------------------- other definition for `into_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_route`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_route`
[INFO] [stdout] ...
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | -------------------------------------- other definition for `into_route`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_info`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_info`
[INFO] [stdout] ...
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | -------------------------------------- other definition for `into_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_route`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_route`
[INFO] [stdout] ...
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | -------------------------------------- other definition for `into_route`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_info`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_info`
[INFO] [stdout] ...
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | -------------------------- other definition for `into_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_route`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_route`
[INFO] [stdout] ...
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | -------------------------- other definition for `into_route`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `left` on type `SelectStatement<FromClause<JoinOn<Join<table, table, ...>, ...>>>`
[INFO] [stdout]    --> src/main.rs:253:18
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout]     |                  ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/blog_api-399abfd34ee8166f.long-type-4337759547360872547.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `join` in this scope
[INFO] [stdout]    --> src/main.rs:253:25
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout]     |                         ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: use the `.` operator to call the method `InternalJoinDsl::join` on `query_source::joins::OnClauseWrapper<schema::posts_tags::table, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::posts::columns::id, schema::posts_tags::columns::fk_post_id>>>`
[INFO] [stdout]     |
[INFO] [stdout] 253 -                 .left — join(posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)))
[INFO] [stdout] 253 +                 .left — posts_tags::table.on(posts::id.eq(posts_tags::fk_post_id)).join()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_info`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_info`
[INFO] [stdout] ...
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | -------------------------------------- other definition for `into_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_route`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_route`
[INFO] [stdout] ...
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | -------------------------------------- other definition for `into_route`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_info`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_info`
[INFO] [stdout] ...
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | -------------------------------------- other definition for `into_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_route`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_route`
[INFO] [stdout] ...
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | -------------------------------------- other definition for `into_route`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_info`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_info`
[INFO] [stdout] ...
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | -------------------------- other definition for `into_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `into_route`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `into_route`
[INFO] [stdout] ...
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | -------------------------- other definition for `into_route`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rocket::form::Form<PostQuery>: FromFormField<'_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |     query: Form<PostQuery>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^ the trait `FromFormField<'_>` is not implemented for `rocket::form::Form<PostQuery>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `FromFormField<'v>`:
[INFO] [stdout]               &'v [u8]
[INFO] [stdout]               &'v str
[INFO] [stdout]               Capped<&'v [u8]>
[INFO] [stdout]               Capped<&'v str>
[INFO] [stdout]               Capped<Cow<'v, str>>
[INFO] [stdout]               Capped<TempFile<'v>>
[INFO] [stdout]               Capped<std::string::String>
[INFO] [stdout]               Cow<'v, str>
[INFO] [stdout]             and 40 others
[INFO] [stdout]     = note: required for `rocket::form::Form<PostQuery>` to implement `FromForm<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:182:22
[INFO] [stdout]     |
[INFO] [stdout] 182 | async fn create_user(conn: DbConn, new_user: Json<NewUser>) -> Json<User> {
[INFO] [stdout]     |          ----------- ^^^^ expected `&State<Pool<ConnectionManager<...>>>`, found `DbConn`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&rocket::State<diesel::r2d2::Pool<ConnectionManager<diesel::PgConnection>>>`
[INFO] [stdout]                   found struct `DbConn`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/main.rs:28:10
[INFO] [stdout]     |
[INFO] [stdout] 28  | async fn create_user(
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 29  |     pool: &State<DbPool>,
[INFO] [stdout]     |     --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:195:22
[INFO] [stdout]     |
[INFO] [stdout] 195 | async fn create_post(conn: DbConn, new_post: Json<NewPost>) -> Json<Post> {
[INFO] [stdout]     |          ----------- ^^^^ expected `&State<Pool<ConnectionManager<...>>>`, found `DbConn`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&rocket::State<diesel::r2d2::Pool<ConnectionManager<diesel::PgConnection>>>`
[INFO] [stdout]                   found struct `DbConn`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/main.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout] 43  | async fn create_post(
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 44  |     pool: &State<DbPool>,
[INFO] [stdout]     |     --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rocket::form::Form<PostQuery>: FromFormField<'_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |     query: Form<PostQuery>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^ the trait `FromFormField<'_>` is not implemented for `rocket::form::Form<PostQuery>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `FromFormField<'v>`:
[INFO] [stdout]               &'v [u8]
[INFO] [stdout]               &'v str
[INFO] [stdout]               Capped<&'v [u8]>
[INFO] [stdout]               Capped<&'v str>
[INFO] [stdout]               Capped<Cow<'v, str>>
[INFO] [stdout]               Capped<TempFile<'v>>
[INFO] [stdout]               Capped<std::string::String>
[INFO] [stdout]               Cow<'v, str>
[INFO] [stdout]             and 40 others
[INFO] [stdout]     = note: required for `rocket::form::Form<PostQuery>` to implement `FromForm<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ListPostsQuery: FromFormField<'_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:244:42
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ the trait `FromFormField<'_>` is not implemented for `ListPostsQuery`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `FromFormField<'v>`:
[INFO] [stdout]               &'v [u8]
[INFO] [stdout]               &'v str
[INFO] [stdout]               Capped<&'v [u8]>
[INFO] [stdout]               Capped<&'v str>
[INFO] [stdout]               Capped<Cow<'v, str>>
[INFO] [stdout]               Capped<TempFile<'v>>
[INFO] [stdout]               Capped<std::string::String>
[INFO] [stdout]               Cow<'v, str>
[INFO] [stdout]             and 40 others
[INFO] [stdout]     = note: required for `ListPostsQuery` to implement `FromForm<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/main.rs:244:10
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&State<Pool<ConnectionManager<...>>>`, found `DbConn`
[INFO] [stdout]    --> src/main.rs:244:21
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     = note: expected reference `&rocket::State<diesel::r2d2::Pool<ConnectionManager<diesel::PgConnection>>>`
[INFO] [stdout]                   found struct `DbConn`
[INFO] [stdout] note: expected `Form<PostQuery>`, found `ListPostsQuery`
[INFO] [stdout]    --> src/main.rs:244:35
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     = note: expected struct `rocket::form::Form<PostQuery>`
[INFO] [stdout]                found struct `ListPostsQuery`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/main.rs:100:10
[INFO] [stdout]     |
[INFO] [stdout] 100 | async fn list_posts(
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 101 |     pool: &State<DbPool>,
[INFO] [stdout]     |     --------------------
[INFO] [stdout] 102 |     query: Form<PostQuery>,
[INFO] [stdout]     |     ----------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:182:22
[INFO] [stdout]     |
[INFO] [stdout] 182 | async fn create_user(conn: DbConn, new_user: Json<NewUser>) -> Json<User> {
[INFO] [stdout]     |          ----------- ^^^^ expected `&State<Pool<ConnectionManager<...>>>`, found `DbConn`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&rocket::State<diesel::r2d2::Pool<ConnectionManager<diesel::PgConnection>>>`
[INFO] [stdout]                   found struct `DbConn`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/main.rs:28:10
[INFO] [stdout]     |
[INFO] [stdout] 28  | async fn create_user(
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 29  |     pool: &State<DbPool>,
[INFO] [stdout]     |     --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:195:22
[INFO] [stdout]     |
[INFO] [stdout] 195 | async fn create_post(conn: DbConn, new_post: Json<NewPost>) -> Json<Post> {
[INFO] [stdout]     |          ----------- ^^^^ expected `&State<Pool<ConnectionManager<...>>>`, found `DbConn`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&rocket::State<diesel::r2d2::Pool<ConnectionManager<diesel::PgConnection>>>`
[INFO] [stdout]                   found struct `DbConn`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/main.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout] 43  | async fn create_post(
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 44  |     pool: &State<DbPool>,
[INFO] [stdout]     |     --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ListPostsQuery: FromFormField<'_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:244:42
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ the trait `FromFormField<'_>` is not implemented for `ListPostsQuery`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `FromFormField<'v>`:
[INFO] [stdout]               &'v [u8]
[INFO] [stdout]               &'v str
[INFO] [stdout]               Capped<&'v [u8]>
[INFO] [stdout]               Capped<&'v str>
[INFO] [stdout]               Capped<Cow<'v, str>>
[INFO] [stdout]               Capped<TempFile<'v>>
[INFO] [stdout]               Capped<std::string::String>
[INFO] [stdout]               Cow<'v, str>
[INFO] [stdout]             and 40 others
[INFO] [stdout]     = note: required for `ListPostsQuery` to implement `FromForm<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/main.rs:244:10
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&State<Pool<ConnectionManager<...>>>`, found `DbConn`
[INFO] [stdout]    --> src/main.rs:244:21
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     = note: expected reference `&rocket::State<diesel::r2d2::Pool<ConnectionManager<diesel::PgConnection>>>`
[INFO] [stdout]                   found struct `DbConn`
[INFO] [stdout] note: expected `Form<PostQuery>`, found `ListPostsQuery`
[INFO] [stdout]    --> src/main.rs:244:35
[INFO] [stdout]     |
[INFO] [stdout] 244 | async fn list_posts(conn: DbConn, query: ListPostsQuery) -> Json<PaginatedPosts> {
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     = note: expected struct `rocket::form::Form<PostQuery>`
[INFO] [stdout]                found struct `ListPostsQuery`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/main.rs:100:10
[INFO] [stdout]     |
[INFO] [stdout] 100 | async fn list_posts(
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 101 |     pool: &State<DbPool>,
[INFO] [stdout]     |     --------------------
[INFO] [stdout] 102 |     query: Form<PostQuery>,
[INFO] [stdout]     |     ----------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_info` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout] 27  | #[post("/users", format = "json", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_user`
[INFO] [stdout]    --> src/main.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[post("/users", data = "<new_user>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  | #[post("/posts", format = "json", data = "<input>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `create_post`
[INFO] [stdout]    --> src/main.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[post("/posts", data = "<new_post>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `post` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/main.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |         .mount("/", routes![create_user, create_post, list_posts])
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `into_route` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout] 99  | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `list_posts`
[INFO] [stdout]    --> src/main.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[get("/posts?<query..>")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `routes` which comes from the expansion of the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0063, E0252, E0254, E0259, E0277, E0308, E0425, E0428...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blog_api` (bin "blog_api" test) due to 70 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0034, E0063, E0252, E0254, E0259, E0277, E0308, E0425, E0428...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blog_api` (bin "blog_api") due to 70 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b4a8112b4438f30e6a8322fde72ee82777a5f10520c26b3605c2f371854f41a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4a8112b4438f30e6a8322fde72ee82777a5f10520c26b3605c2f371854f41a0", kill_on_drop: false }`
[INFO] [stdout] b4a8112b4438f30e6a8322fde72ee82777a5f10520c26b3605c2f371854f41a0
