[INFO] cloning repository https://github.com/NioKing/rust-shop
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NioKing/rust-shop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNioKing%2Frust-shop", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNioKing%2Frust-shop'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f75e2beaa7c4aa4fbfbd0417e10a73ca8cc98986
[INFO] checking NioKing/rust-shop against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNioKing%2Frust-shop" "/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/NioKing/rust-shop
[INFO] finished tweaking git repo https://github.com/NioKing/rust-shop
[INFO] tweaked toml for git repo https://github.com/NioKing/rust-shop written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NioKing/rust-shop on toolchain 95813608313bff49cfc1afc393a946a3c085b772
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NioKing/rust-shop 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" "+95813608313bff49cfc1afc393a946a3c085b772" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8bee9f512c9925499395524a446f0f3dc393aa48ab5f57de6c846b88e6d2d77f
[INFO] running `Command { std: "docker" "start" "-a" "8bee9f512c9925499395524a446f0f3dc393aa48ab5f57de6c846b88e6d2d77f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8bee9f512c9925499395524a446f0f3dc393aa48ab5f57de6c846b88e6d2d77f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bee9f512c9925499395524a446f0f3dc393aa48ab5f57de6c846b88e6d2d77f", kill_on_drop: false }`
[INFO] [stdout] 8bee9f512c9925499395524a446f0f3dc393aa48ab5f57de6c846b88e6d2d77f
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 001d1f0aac53134e4c4ff4d0c1040884d3eacbb282faf6f08f37e8ae50166302
[INFO] running `Command { std: "docker" "start" "-a" "001d1f0aac53134e4c4ff4d0c1040884d3eacbb282faf6f08f37e8ae50166302", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.226
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling serde v1.0.226
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking deranged v0.5.3
[INFO] [stderr]     Checking executor-trait v2.1.2
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling der_derive v0.7.3
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling aws-lc-rs v1.14.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling asn1-rs-derive v0.6.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]     Checking regex-automata v0.4.10
[INFO] [stderr]    Compiling cc v1.2.38
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling rustls v0.23.32
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling oid-registry v0.8.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling bigdecimal v0.4.8
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling pq-sys v0.7.2
[INFO] [stderr]     Checking scrypt v0.11.0
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking x509-cert v0.2.5
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking pkcs5 v0.7.1
[INFO] [stderr]    Compiling aws-lc-sys v0.31.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking asn1-rs v0.7.1
[INFO] [stderr]    Compiling psm v0.1.26
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling dsl_auto_type v0.1.3
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking rc2 v0.8.1
[INFO] [stderr]     Checking des v0.8.1
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking der-parser v10.0.0
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling diesel_derives v2.2.7
[INFO] [stderr]     Checking cookie-factory v0.3.3
[INFO] [stderr]     Checking cms v0.2.3
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]     Checking x509-parser v0.17.0
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling pest v2.8.2
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking brotli v8.0.2
[INFO] [stderr]     Checking pkcs12 v0.1.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]    Compiling toml_datetime v0.7.2
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling serde_spanned v1.0.2
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking reactor-trait v3.1.1
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking reactor-trait v2.8.0
[INFO] [stderr]    Compiling stacker v0.1.21
[INFO] [stderr]     Checking async-executor v1.13.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking p12-keystore v0.2.0
[INFO] [stderr]     Checking async-lock v3.4.1
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]    Compiling toml_parser v1.0.3
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]    Compiling toml_writer v1.0.3
[INFO] [stderr]     Checking amq-protocol-types v8.3.1
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]     Checking postgres-protocol v0.6.8
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking async-global-executor v3.1.0
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling pest_meta v2.8.2
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling toml v0.9.7
[INFO] [stderr]     Checking axum-core v0.5.2
[INFO] [stderr]     Checking globset v0.4.16
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking amq-protocol-uri v8.3.1
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking phf_shared v0.12.1
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking executor-trait v3.1.0
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]    Compiling amq-protocol v8.3.1
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling validator_derive v0.20.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling pest_generator v2.8.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling migrations_internals v2.2.1
[INFO] [stderr]     Checking phf v0.12.1
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking ignore v0.4.23
[INFO] [stderr]     Checking postgres-types v0.2.9
[INFO] [stderr]     Checking async-global-executor-trait v2.2.0
[INFO] [stderr]     Checking unic-ucd-segment v0.9.0
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]    Compiling tokio-cron-scheduler v0.15.1
[INFO] [stderr]    Compiling lapin v3.7.0
[INFO] [stderr]     Checking whoami v1.6.1
[INFO] [stderr]     Checking unic-segment v0.9.0
[INFO] [stderr]     Checking slug v0.1.6
[INFO] [stderr]     Checking deadpool v0.12.3
[INFO] [stderr]     Checking chumsky v0.9.3
[INFO] [stderr]     Checking async-global-executor-trait v3.1.0
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking globwalk v0.9.1
[INFO] [stderr]     Checking tokio-postgres v0.7.13
[INFO] [stderr]     Checking validator v0.20.0
[INFO] [stderr]    Compiling pest_derive v2.8.2
[INFO] [stderr]    Compiling migrations_macros v2.2.0
[INFO] [stderr]     Checking deadpool-sync v0.1.4
[INFO] [stderr]     Checking async-reactor-trait v3.1.1
[INFO] [stderr]     Checking tokio-executor-trait v2.4.0
[INFO] [stderr]     Checking bb8 v0.8.6
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking croner v3.0.1
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]     Checking diesel v2.2.12
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking backon v1.5.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking hostname v0.4.1
[INFO] [stderr]     Checking email-encoding v0.4.1
[INFO] [stderr]     Checking pem v3.0.5
[INFO] [stderr]     Checking scoped-futures v0.1.4
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking nu-ansi-term v0.50.1
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking quoted_printable v0.5.1
[INFO] [stderr]    Compiling diesel-derive-enum v2.1.0
[INFO] [stderr]     Checking bcrypt v0.17.1
[INFO] [stderr]     Checking tokio-reactor-trait v4.1.1
[INFO] [stderr]     Checking tokio-executor-trait v3.1.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking listenfd v1.0.2
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking lettre v0.11.18
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking axum v0.8.4
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking compression-codecs v0.4.30
[INFO] [stderr]     Checking tera v1.20.0
[INFO] [stderr]     Checking async-compression v0.4.30
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking reqwest v0.12.23
[INFO] [stderr]     Checking axum-validated-extractors v0.1.2
[INFO] [stderr]     Checking axum-extra v0.10.1
[INFO] [stderr]     Checking rustls-webpki v0.103.6
[INFO] [stderr]     Checking futures-rustls v0.26.0
[INFO] [stderr]     Checking rustls-connector v0.21.11
[INFO] [stderr]     Checking tcp-stream v0.30.9
[INFO] [stderr]     Checking amq-protocol-tcp v8.3.1
[INFO] [stderr]     Checking deadpool-diesel v0.6.1
[INFO] [stderr]     Checking diesel_migrations v2.2.0
[INFO] [stderr]     Checking diesel-async v0.5.2
[INFO] [stderr]     Checking diesel_full_text_search v2.2.0
[INFO] [stderr]     Checking axum-shop v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/auth/handlers.rs:66:22
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     .get_result(&mut conn)
[INFO] [stdout]    |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 63 ~                 let user = diesel::RunQueryDsl::get_result(diesel::insert_into(users::table)
[INFO] [stdout] 64 +                     .values(&user_data)
[INFO] [stdout] 65 +                     .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 63 ~                 let user = diesel_async::RunQueryDsl::get_result(diesel::insert_into(users::table)
[INFO] [stdout] 64 +                     .values(&user_data)
[INFO] [stdout] 65 +                     .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/auth/handlers.rs:97:22
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     .execute(&mut conn)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 95 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(carts::table)
[INFO] [stdout] 96 +                     .values(&cart_data), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 95 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(carts::table)
[INFO] [stdout] 96 +                     .values(&cart_data), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     .execute(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 100 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(user_subscriptions::table)
[INFO] [stdout] 101 +                     .values(&subs_data), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 100 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(user_subscriptions::table)
[INFO] [stdout] 101 +                     .values(&subs_data), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     .execute(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 105 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(profiles::table)
[INFO] [stdout] 106 +                     .values(&profile_data), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 105 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(profiles::table)
[INFO] [stdout] 106 +                     .values(&profile_data), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 138 ~     let res = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 139 +         .filter(users::id.eq(&id))
[INFO] [stdout] 140 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 138 ~     let res = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 139 +         .filter(users::id.eq(&id))
[INFO] [stdout] 140 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 |       let res = users::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 139 | |         .filter(users::id.eq(&id))
[INFO] [stdout] 140 | |         .select(SafeUser::as_select())
[INFO] [stdout] 141 | |         .get_result(&mut conn)
[INFO] [stdout] 142 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:159:10
[INFO] [stdout]     |
[INFO] [stdout] 159 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 156 ~     let res = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 157 +         .filter(users::email.eq(&payload.email))
[INFO] [stdout] 158 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 156 ~     let res = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 157 +         .filter(users::email.eq(&payload.email))
[INFO] [stdout] 158 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:156:15
[INFO] [stdout]     |
[INFO] [stdout] 156 |       let res = users::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 157 | |         .filter(users::email.eq(&payload.email))
[INFO] [stdout] 158 | |         .select(SafeUser::as_select())
[INFO] [stdout] 159 | |         .get_result(&mut conn)
[INFO] [stdout] 160 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 |         .execute(&mut conn)
[INFO] [stdout]     |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 175 -     diesel::delete(carts::table.filter(carts::user_id.eq(&id)))
[INFO] [stdout] 176 -         .execute(&mut conn)
[INFO] [stdout] 175 +     diesel::RunQueryDsl::execute(diesel::delete(carts::table.filter(carts::user_id.eq(&id))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 175 -     diesel::delete(carts::table.filter(carts::user_id.eq(&id)))
[INFO] [stdout] 176 -         .execute(&mut conn)
[INFO] [stdout] 175 +     diesel_async::RunQueryDsl::execute(diesel::delete(carts::table.filter(carts::user_id.eq(&id))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | /     diesel::delete(carts::table.filter(carts::user_id.eq(&id)))
[INFO] [stdout] 176 | |         .execute(&mut conn)
[INFO] [stdout] 177 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 182 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 180 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(users::table.find(&id))
[INFO] [stdout] 181 +         .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 180 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(users::table.find(&id))
[INFO] [stdout] 181 +         .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |       let res = diesel::delete(users::table.find(&id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 181 | |         .returning(SafeUser::as_returning())
[INFO] [stdout] 182 | |         .get_result(&mut conn)
[INFO] [stdout] 183 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 198 ~     let user = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 199 +         .find(id)
[INFO] [stdout] 200 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 198 ~     let user = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 199 +         .find(id)
[INFO] [stdout] 200 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:198:16
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let user = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 199 | |         .find(id)
[INFO] [stdout] 200 | |         .select(User::as_select())
[INFO] [stdout] 201 | |         .get_result(&mut conn)
[INFO] [stdout] 202 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 236 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(users::table.find(&id))
[INFO] [stdout] 237 +         .set(&updated_user)
[INFO] [stdout] 238 +         .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 236 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(users::table.find(&id))
[INFO] [stdout] 237 +         .set(&updated_user)
[INFO] [stdout] 238 +         .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 |       let res = diesel::update(users::table.find(&id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 237 | |         .set(&updated_user)
[INFO] [stdout] 238 | |         .returning(SafeUser::as_returning())
[INFO] [stdout] 239 | |         .get_result(&mut conn)
[INFO] [stdout] 240 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:281:10
[INFO] [stdout]     |
[INFO] [stdout] 281 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 254 ~     let rows = diesel_async::RunQueryDsl::load(users::table
[INFO] [stdout] 255 +         // .inner_join(carts::table)
[INFO] [stdout] 256 +         // .inner_join(profiles::table)
[INFO] [stdout] 257 +         // .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 258 +         // .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 259 +         // .select((
[INFO] [stdout] 260 +         //     SafeUser::as_select(),
[INFO] [stdout] 261 +         //     Cart::as_select(),
[INFO] [stdout] 262 +         //     Profile::as_select(),
[INFO] [stdout] 263 +         //     sql::<diesel::sql_types::Json>(
[INFO] [stdout] 264 +         //         "COALESCE(
[INFO] [stdout] 265 +         //         json_agg(
[INFO] [stdout] 266 +         //         json_build_object(
[INFO] [stdout] 267 +         //             'id', products.id,
[INFO] [stdout] 268 +         //             'title', products.title,
[INFO] [stdout] 269 +         //             'price', products.price,
[INFO] [stdout] 270 +         //             'description', products.description,
[INFO] [stdout] 271 +         //             'image', products.image,
[INFO] [stdout] 272 +         //             'quantity', cart_products.quantity
[INFO] [stdout] 273 +         //         )
[INFO] [stdout] 274 +         //     ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 275 +         //     '[]'
[INFO] [stdout] 276 +         // )",
[INFO] [stdout] 277 +         //     ),
[INFO] [stdout] 278 +         // ))
[INFO] [stdout] 279 +         // .load::<(SafeUser, Cart, Profile, serde_json::Value)>(&mut conn)
[INFO] [stdout] 280 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 254 ~     let rows = diesel::RunQueryDsl::load(users::table
[INFO] [stdout] 255 +         // .inner_join(carts::table)
[INFO] [stdout] 256 +         // .inner_join(profiles::table)
[INFO] [stdout] 257 +         // .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 258 +         // .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 259 +         // .select((
[INFO] [stdout] 260 +         //     SafeUser::as_select(),
[INFO] [stdout] 261 +         //     Cart::as_select(),
[INFO] [stdout] 262 +         //     Profile::as_select(),
[INFO] [stdout] 263 +         //     sql::<diesel::sql_types::Json>(
[INFO] [stdout] 264 +         //         "COALESCE(
[INFO] [stdout] 265 +         //         json_agg(
[INFO] [stdout] 266 +         //         json_build_object(
[INFO] [stdout] 267 +         //             'id', products.id,
[INFO] [stdout] 268 +         //             'title', products.title,
[INFO] [stdout] 269 +         //             'price', products.price,
[INFO] [stdout] 270 +         //             'description', products.description,
[INFO] [stdout] 271 +         //             'image', products.image,
[INFO] [stdout] 272 +         //             'quantity', cart_products.quantity
[INFO] [stdout] 273 +         //         )
[INFO] [stdout] 274 +         //     ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 275 +         //     '[]'
[INFO] [stdout] 276 +         // )",
[INFO] [stdout] 277 +         //     ),
[INFO] [stdout] 278 +         // ))
[INFO] [stdout] 279 +         // .load::<(SafeUser, Cart, Profile, serde_json::Value)>(&mut conn)
[INFO] [stdout] 280 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:254:16
[INFO] [stdout]     |
[INFO] [stdout] 254 |       let rows = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] ...   |
[INFO] [stdout] 281 | |         .load(&mut conn)
[INFO] [stdout] 282 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:337:10
[INFO] [stdout]     |
[INFO] [stdout] 337 |         .get_result::<(SafeUser, Cart, Profile)>(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 328 ~     let (user, cart, profile) = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 329 +         .filter(users::id.eq(&user_id))
[INFO] [stdout] 330 +         .inner_join(carts::table)
[INFO] [stdout] 331 +         .inner_join(profiles::table)
[INFO] [stdout] 332 +         .select((
[INFO] [stdout] 333 +             SafeUser::as_select(),
[INFO] [stdout] 334 +             Cart::as_select(),
[INFO] [stdout] 335 +             Profile::as_select(),
[INFO] [stdout] 336 +         )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 328 ~     let (user, cart, profile) = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 329 +         .filter(users::id.eq(&user_id))
[INFO] [stdout] 330 +         .inner_join(carts::table)
[INFO] [stdout] 331 +         .inner_join(profiles::table)
[INFO] [stdout] 332 +         .select((
[INFO] [stdout] 333 +             SafeUser::as_select(),
[INFO] [stdout] 334 +             Cart::as_select(),
[INFO] [stdout] 335 +             Profile::as_select(),
[INFO] [stdout] 336 +         )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:328:33
[INFO] [stdout]     |
[INFO] [stdout] 328 |       let (user, cart, profile) = users::table
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 329 | |         .filter(users::id.eq(&user_id))
[INFO] [stdout] 330 | |         .inner_join(carts::table)
[INFO] [stdout] 331 | |         .inner_join(profiles::table)
[INFO] [stdout] ...   |
[INFO] [stdout] 337 | |         .get_result::<(SafeUser, Cart, Profile)>(&mut conn)
[INFO] [stdout] 338 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/auth/handlers.rs:66:22
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     .get_result(&mut conn)
[INFO] [stdout]    |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 63 ~                 let user = diesel::RunQueryDsl::get_result(diesel::insert_into(users::table)
[INFO] [stdout] 64 +                     .values(&user_data)
[INFO] [stdout] 65 +                     .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 63 ~                 let user = diesel_async::RunQueryDsl::get_result(diesel::insert_into(users::table)
[INFO] [stdout] 64 +                     .values(&user_data)
[INFO] [stdout] 65 +                     .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/auth/handlers.rs:97:22
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     .execute(&mut conn)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 95 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(carts::table)
[INFO] [stdout] 96 +                     .values(&cart_data), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 95 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(carts::table)
[INFO] [stdout] 96 +                     .values(&cart_data), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     .execute(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 100 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(user_subscriptions::table)
[INFO] [stdout] 101 +                     .values(&subs_data), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 100 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(user_subscriptions::table)
[INFO] [stdout] 101 +                     .values(&subs_data), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     .execute(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 105 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(profiles::table)
[INFO] [stdout] 106 +                     .values(&profile_data), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 105 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(profiles::table)
[INFO] [stdout] 106 +                     .values(&profile_data), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 138 ~     let res = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 139 +         .filter(users::id.eq(&id))
[INFO] [stdout] 140 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 138 ~     let res = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 139 +         .filter(users::id.eq(&id))
[INFO] [stdout] 140 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 |       let res = users::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 139 | |         .filter(users::id.eq(&id))
[INFO] [stdout] 140 | |         .select(SafeUser::as_select())
[INFO] [stdout] 141 | |         .get_result(&mut conn)
[INFO] [stdout] 142 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:159:10
[INFO] [stdout]     |
[INFO] [stdout] 159 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 156 ~     let res = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 157 +         .filter(users::email.eq(&payload.email))
[INFO] [stdout] 158 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 156 ~     let res = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 157 +         .filter(users::email.eq(&payload.email))
[INFO] [stdout] 158 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:156:15
[INFO] [stdout]     |
[INFO] [stdout] 156 |       let res = users::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 157 | |         .filter(users::email.eq(&payload.email))
[INFO] [stdout] 158 | |         .select(SafeUser::as_select())
[INFO] [stdout] 159 | |         .get_result(&mut conn)
[INFO] [stdout] 160 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 |         .execute(&mut conn)
[INFO] [stdout]     |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 175 -     diesel::delete(carts::table.filter(carts::user_id.eq(&id)))
[INFO] [stdout] 176 -         .execute(&mut conn)
[INFO] [stdout] 175 +     diesel::RunQueryDsl::execute(diesel::delete(carts::table.filter(carts::user_id.eq(&id))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 175 -     diesel::delete(carts::table.filter(carts::user_id.eq(&id)))
[INFO] [stdout] 176 -         .execute(&mut conn)
[INFO] [stdout] 175 +     diesel_async::RunQueryDsl::execute(diesel::delete(carts::table.filter(carts::user_id.eq(&id))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | /     diesel::delete(carts::table.filter(carts::user_id.eq(&id)))
[INFO] [stdout] 176 | |         .execute(&mut conn)
[INFO] [stdout] 177 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 182 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 180 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(users::table.find(&id))
[INFO] [stdout] 181 +         .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 180 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(users::table.find(&id))
[INFO] [stdout] 181 +         .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |       let res = diesel::delete(users::table.find(&id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 181 | |         .returning(SafeUser::as_returning())
[INFO] [stdout] 182 | |         .get_result(&mut conn)
[INFO] [stdout] 183 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 198 ~     let user = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 199 +         .find(id)
[INFO] [stdout] 200 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 198 ~     let user = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 199 +         .find(id)
[INFO] [stdout] 200 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:198:16
[INFO] [stdout]     |
[INFO] [stdout] 198 |       let user = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 199 | |         .find(id)
[INFO] [stdout] 200 | |         .select(User::as_select())
[INFO] [stdout] 201 | |         .get_result(&mut conn)
[INFO] [stdout] 202 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 236 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(users::table.find(&id))
[INFO] [stdout] 237 +         .set(&updated_user)
[INFO] [stdout] 238 +         .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 236 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(users::table.find(&id))
[INFO] [stdout] 237 +         .set(&updated_user)
[INFO] [stdout] 238 +         .returning(SafeUser::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 |       let res = diesel::update(users::table.find(&id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 237 | |         .set(&updated_user)
[INFO] [stdout] 238 | |         .returning(SafeUser::as_returning())
[INFO] [stdout] 239 | |         .get_result(&mut conn)
[INFO] [stdout] 240 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:281:10
[INFO] [stdout]     |
[INFO] [stdout] 281 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 254 ~     let rows = diesel_async::RunQueryDsl::load(users::table
[INFO] [stdout] 255 +         // .inner_join(carts::table)
[INFO] [stdout] 256 +         // .inner_join(profiles::table)
[INFO] [stdout] 257 +         // .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 258 +         // .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 259 +         // .select((
[INFO] [stdout] 260 +         //     SafeUser::as_select(),
[INFO] [stdout] 261 +         //     Cart::as_select(),
[INFO] [stdout] 262 +         //     Profile::as_select(),
[INFO] [stdout] 263 +         //     sql::<diesel::sql_types::Json>(
[INFO] [stdout] 264 +         //         "COALESCE(
[INFO] [stdout] 265 +         //         json_agg(
[INFO] [stdout] 266 +         //         json_build_object(
[INFO] [stdout] 267 +         //             'id', products.id,
[INFO] [stdout] 268 +         //             'title', products.title,
[INFO] [stdout] 269 +         //             'price', products.price,
[INFO] [stdout] 270 +         //             'description', products.description,
[INFO] [stdout] 271 +         //             'image', products.image,
[INFO] [stdout] 272 +         //             'quantity', cart_products.quantity
[INFO] [stdout] 273 +         //         )
[INFO] [stdout] 274 +         //     ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 275 +         //     '[]'
[INFO] [stdout] 276 +         // )",
[INFO] [stdout] 277 +         //     ),
[INFO] [stdout] 278 +         // ))
[INFO] [stdout] 279 +         // .load::<(SafeUser, Cart, Profile, serde_json::Value)>(&mut conn)
[INFO] [stdout] 280 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 254 ~     let rows = diesel::RunQueryDsl::load(users::table
[INFO] [stdout] 255 +         // .inner_join(carts::table)
[INFO] [stdout] 256 +         // .inner_join(profiles::table)
[INFO] [stdout] 257 +         // .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 258 +         // .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 259 +         // .select((
[INFO] [stdout] 260 +         //     SafeUser::as_select(),
[INFO] [stdout] 261 +         //     Cart::as_select(),
[INFO] [stdout] 262 +         //     Profile::as_select(),
[INFO] [stdout] 263 +         //     sql::<diesel::sql_types::Json>(
[INFO] [stdout] 264 +         //         "COALESCE(
[INFO] [stdout] 265 +         //         json_agg(
[INFO] [stdout] 266 +         //         json_build_object(
[INFO] [stdout] 267 +         //             'id', products.id,
[INFO] [stdout] 268 +         //             'title', products.title,
[INFO] [stdout] 269 +         //             'price', products.price,
[INFO] [stdout] 270 +         //             'description', products.description,
[INFO] [stdout] 271 +         //             'image', products.image,
[INFO] [stdout] 272 +         //             'quantity', cart_products.quantity
[INFO] [stdout] 273 +         //         )
[INFO] [stdout] 274 +         //     ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 275 +         //     '[]'
[INFO] [stdout] 276 +         // )",
[INFO] [stdout] 277 +         //     ),
[INFO] [stdout] 278 +         // ))
[INFO] [stdout] 279 +         // .load::<(SafeUser, Cart, Profile, serde_json::Value)>(&mut conn)
[INFO] [stdout] 280 +         .select(SafeUser::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:254:16
[INFO] [stdout]     |
[INFO] [stdout] 254 |       let rows = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] ...   |
[INFO] [stdout] 281 | |         .load(&mut conn)
[INFO] [stdout] 282 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |       let products_json = cart_products::table
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 342 | |         .inner_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 343 | |         .filter(cart_products::cart_id.eq(&cart.id))
[INFO] [stdout] 344 | |         .select(sql::<diesel::sql_types::Json>(
[INFO] [stdout] ...   |
[INFO] [stdout] 354 | |         .load::<serde_json::Value>(&mut conn)
[INFO] [stdout] 355 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:362:10
[INFO] [stdout]     |
[INFO] [stdout] 362 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 358 ~     let address = diesel_async::RunQueryDsl::load(addresses::table
[INFO] [stdout] 359 +         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 360 +         .select(Address::as_select())
[INFO] [stdout] 361 +         .order_by(addresses::is_default.desc()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 358 ~     let address = diesel::RunQueryDsl::load(addresses::table
[INFO] [stdout] 359 +         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 360 +         .select(Address::as_select())
[INFO] [stdout] 361 +         .order_by(addresses::is_default.desc()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:358:19
[INFO] [stdout]     |
[INFO] [stdout] 358 |       let address = addresses::table
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 359 | |         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 360 | |         .select(Address::as_select())
[INFO] [stdout] 361 | |         .order_by(addresses::is_default.desc())
[INFO] [stdout] 362 | |         .load(&mut conn)
[INFO] [stdout] 363 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:393:10
[INFO] [stdout]     |
[INFO] [stdout] 393 |         .first::<User>(&mut conn)
[INFO] [stdout]     |          ^^^^^ multiple `first` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 391 ~     let user = diesel_async::RunQueryDsl::first(users::table
[INFO] [stdout] 392 +         .filter(users::email.eq(payload.email)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 391 ~     let user = diesel::RunQueryDsl::first(users::table
[INFO] [stdout] 392 +         .filter(users::email.eq(payload.email)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:391:16
[INFO] [stdout]     |
[INFO] [stdout] 391 |       let user = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 392 | |         .filter(users::email.eq(payload.email))
[INFO] [stdout] 393 | |         .first::<User>(&mut conn)
[INFO] [stdout] 394 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:337:10
[INFO] [stdout]     |
[INFO] [stdout] 337 |         .get_result::<(SafeUser, Cart, Profile)>(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 328 ~     let (user, cart, profile) = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 329 +         .filter(users::id.eq(&user_id))
[INFO] [stdout] 330 +         .inner_join(carts::table)
[INFO] [stdout] 331 +         .inner_join(profiles::table)
[INFO] [stdout] 332 +         .select((
[INFO] [stdout] 333 +             SafeUser::as_select(),
[INFO] [stdout] 334 +             Cart::as_select(),
[INFO] [stdout] 335 +             Profile::as_select(),
[INFO] [stdout] 336 +         )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 328 ~     let (user, cart, profile) = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 329 +         .filter(users::id.eq(&user_id))
[INFO] [stdout] 330 +         .inner_join(carts::table)
[INFO] [stdout] 331 +         .inner_join(profiles::table)
[INFO] [stdout] 332 +         .select((
[INFO] [stdout] 333 +             SafeUser::as_select(),
[INFO] [stdout] 334 +             Cart::as_select(),
[INFO] [stdout] 335 +             Profile::as_select(),
[INFO] [stdout] 336 +         )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:328:33
[INFO] [stdout]     |
[INFO] [stdout] 328 |       let (user, cart, profile) = users::table
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 329 | |         .filter(users::id.eq(&user_id))
[INFO] [stdout] 330 | |         .inner_join(carts::table)
[INFO] [stdout] 331 | |         .inner_join(profiles::table)
[INFO] [stdout] ...   |
[INFO] [stdout] 337 | |         .get_result::<(SafeUser, Cart, Profile)>(&mut conn)
[INFO] [stdout] 338 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 412 | /     diesel::update(users::table.filter(users::id.eq(user.id)))
[INFO] [stdout] 413 | |         .set(users::hashed_rt.eq(&refresh_token_hash))
[INFO] [stdout] 414 | |         .execute(&mut conn)
[INFO] [stdout] 415 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:444:10
[INFO] [stdout]     |
[INFO] [stdout] 444 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 441 ~     let user = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 442 +         .find(&id)
[INFO] [stdout] 443 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 441 ~     let user = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 442 +         .find(&id)
[INFO] [stdout] 443 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:441:16
[INFO] [stdout]     |
[INFO] [stdout] 441 |       let user = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 442 | |         .find(&id)
[INFO] [stdout] 443 | |         .select(User::as_select())
[INFO] [stdout] 444 | |         .get_result(&mut conn)
[INFO] [stdout] 445 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:449:41
[INFO] [stdout]     |
[INFO] [stdout] 449 |         validate_hash(token.to_owned(), hash.to_owned()).await?;
[INFO] [stdout]     |                                         ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:468:5
[INFO] [stdout]     |
[INFO] [stdout] 468 | /     diesel::update(users::table.filter(users::id.eq(user.id)))
[INFO] [stdout] 469 | |         .set(users::hashed_rt.eq(&refresh_token_hash))
[INFO] [stdout] 470 | |         .execute(&mut conn)
[INFO] [stdout] 471 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |       let products_json = cart_products::table
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 342 | |         .inner_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 343 | |         .filter(cart_products::cart_id.eq(&cart.id))
[INFO] [stdout] 344 | |         .select(sql::<diesel::sql_types::Json>(
[INFO] [stdout] ...   |
[INFO] [stdout] 354 | |         .load::<serde_json::Value>(&mut conn)
[INFO] [stdout] 355 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:362:10
[INFO] [stdout]     |
[INFO] [stdout] 362 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 358 ~     let address = diesel_async::RunQueryDsl::load(addresses::table
[INFO] [stdout] 359 +         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 360 +         .select(Address::as_select())
[INFO] [stdout] 361 +         .order_by(addresses::is_default.desc()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 358 ~     let address = diesel::RunQueryDsl::load(addresses::table
[INFO] [stdout] 359 +         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 360 +         .select(Address::as_select())
[INFO] [stdout] 361 +         .order_by(addresses::is_default.desc()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:358:19
[INFO] [stdout]     |
[INFO] [stdout] 358 |       let address = addresses::table
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 359 | |         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 360 | |         .select(Address::as_select())
[INFO] [stdout] 361 | |         .order_by(addresses::is_default.desc())
[INFO] [stdout] 362 | |         .load(&mut conn)
[INFO] [stdout] 363 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:393:10
[INFO] [stdout]     |
[INFO] [stdout] 393 |         .first::<User>(&mut conn)
[INFO] [stdout]     |          ^^^^^ multiple `first` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 391 ~     let user = diesel_async::RunQueryDsl::first(users::table
[INFO] [stdout] 392 +         .filter(users::email.eq(payload.email)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 391 ~     let user = diesel::RunQueryDsl::first(users::table
[INFO] [stdout] 392 +         .filter(users::email.eq(payload.email)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:391:16
[INFO] [stdout]     |
[INFO] [stdout] 391 |       let user = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 392 | |         .filter(users::email.eq(payload.email))
[INFO] [stdout] 393 | |         .first::<User>(&mut conn)
[INFO] [stdout] 394 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:605:10
[INFO] [stdout]     |
[INFO] [stdout] 605 |         .execute(&mut conn)
[INFO] [stdout]     |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 603 ~     diesel_async::RunQueryDsl::execute(diesel::update(users::table.filter(users::id.eq(id).and(users::hashed_rt.is_not_null())))
[INFO] [stdout] 604 +         .set(users::hashed_rt.eq(None::<String>)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 603 ~     diesel::RunQueryDsl::execute(diesel::update(users::table.filter(users::id.eq(id).and(users::hashed_rt.is_not_null())))
[INFO] [stdout] 604 +         .set(users::hashed_rt.eq(None::<String>)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:603:5
[INFO] [stdout]     |
[INFO] [stdout] 603 | /     diesel::update(users::table.filter(users::id.eq(id).and(users::hashed_rt.is_not_null())))
[INFO] [stdout] 604 | |         .set(users::hashed_rt.eq(None::<String>))
[INFO] [stdout] 605 | |         .execute(&mut conn)
[INFO] [stdout] 606 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 412 | /     diesel::update(users::table.filter(users::id.eq(user.id)))
[INFO] [stdout] 413 | |         .set(users::hashed_rt.eq(&refresh_token_hash))
[INFO] [stdout] 414 | |         .execute(&mut conn)
[INFO] [stdout] 415 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:444:10
[INFO] [stdout]     |
[INFO] [stdout] 444 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 441 ~     let user = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 442 +         .find(&id)
[INFO] [stdout] 443 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 441 ~     let user = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 442 +         .find(&id)
[INFO] [stdout] 443 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:441:16
[INFO] [stdout]     |
[INFO] [stdout] 441 |       let user = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 442 | |         .find(&id)
[INFO] [stdout] 443 | |         .select(User::as_select())
[INFO] [stdout] 444 | |         .get_result(&mut conn)
[INFO] [stdout] 445 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:449:41
[INFO] [stdout]     |
[INFO] [stdout] 449 |         validate_hash(token.to_owned(), hash.to_owned()).await?;
[INFO] [stdout]     |                                         ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/cart/handlers.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         .load::<(Cart, serde_json::Value)>(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let rows = diesel_async::RunQueryDsl::load(carts::table
[INFO] [stdout] 24 +         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 25 +         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 26 +         .select((
[INFO] [stdout] 27 +             Cart::as_select(),
[INFO] [stdout] 28 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 29 +                 "COALESCE(
[INFO] [stdout] 30 +                 json_agg(
[INFO] [stdout] 31 +                 json_build_object(
[INFO] [stdout] 32 +                     'id', products.id,
[INFO] [stdout] 33 +                     'title', products.title,
[INFO] [stdout] 34 +                     'price', products.price,
[INFO] [stdout] 35 +                     'description', products.description,
[INFO] [stdout] 36 +                     'image', products.image,
[INFO] [stdout] 37 +                     'quantity', cart_products.quantity
[INFO] [stdout] 38 +                 )
[INFO] [stdout] 39 +             ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 40 +             '[]'
[INFO] [stdout] 41 +         )",
[INFO] [stdout] 42 +             ),
[INFO] [stdout] 43 +         ))
[INFO] [stdout] 44 +         .group_by(carts::id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let rows = diesel::RunQueryDsl::load(carts::table
[INFO] [stdout] 24 +         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 25 +         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 26 +         .select((
[INFO] [stdout] 27 +             Cart::as_select(),
[INFO] [stdout] 28 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 29 +                 "COALESCE(
[INFO] [stdout] 30 +                 json_agg(
[INFO] [stdout] 31 +                 json_build_object(
[INFO] [stdout] 32 +                     'id', products.id,
[INFO] [stdout] 33 +                     'title', products.title,
[INFO] [stdout] 34 +                     'price', products.price,
[INFO] [stdout] 35 +                     'description', products.description,
[INFO] [stdout] 36 +                     'image', products.image,
[INFO] [stdout] 37 +                     'quantity', cart_products.quantity
[INFO] [stdout] 38 +                 )
[INFO] [stdout] 39 +             ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 40 +             '[]'
[INFO] [stdout] 41 +         )",
[INFO] [stdout] 42 +             ),
[INFO] [stdout] 43 +         ))
[INFO] [stdout] 44 +         .group_by(carts::id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/cart/handlers.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let rows = carts::table
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 24 | |         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 25 | |         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 26 | |         .select((
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |         .load::<(Cart, serde_json::Value)>(&mut conn)
[INFO] [stdout] 46 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/cart/handlers.rs:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     .get_result(&mut conn)
[INFO] [stdout]    |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 74 ~                 let cart = diesel_async::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 75 +                     .filter(carts::user_id.eq(&user_id))
[INFO] [stdout] 76 +                     .select(Cart::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 74 ~                 let cart = diesel::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 75 +                     .filter(carts::user_id.eq(&user_id))
[INFO] [stdout] 76 +                     .select(Cart::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:468:5
[INFO] [stdout]     |
[INFO] [stdout] 468 | /     diesel::update(users::table.filter(users::id.eq(user.id)))
[INFO] [stdout] 469 | |         .set(users::hashed_rt.eq(&refresh_token_hash))
[INFO] [stdout] 470 | |         .execute(&mut conn)
[INFO] [stdout] 471 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/auth/handlers.rs:605:10
[INFO] [stdout]     |
[INFO] [stdout] 605 |         .execute(&mut conn)
[INFO] [stdout]     |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 603 ~     diesel_async::RunQueryDsl::execute(diesel::update(users::table.filter(users::id.eq(id).and(users::hashed_rt.is_not_null())))
[INFO] [stdout] 604 +         .set(users::hashed_rt.eq(None::<String>)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 603 ~     diesel::RunQueryDsl::execute(diesel::update(users::table.filter(users::id.eq(id).and(users::hashed_rt.is_not_null())))
[INFO] [stdout] 604 +         .set(users::hashed_rt.eq(None::<String>)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/auth/handlers.rs:603:5
[INFO] [stdout]     |
[INFO] [stdout] 603 | /     diesel::update(users::table.filter(users::id.eq(id).and(users::hashed_rt.is_not_null())))
[INFO] [stdout] 604 | |         .set(users::hashed_rt.eq(None::<String>))
[INFO] [stdout] 605 | |         .execute(&mut conn)
[INFO] [stdout] 606 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/cart/handlers.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let prods = cart_products::table
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |                 for prod in prods.iter() {
[INFO] [stdout]    |                             ----- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `prods` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let prods: /* Type */ = cart_products::table
[INFO] [stdout]    |                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/cart/handlers.rs:106:30
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   .execute(&mut conn)
[INFO] [stdout]     |                        ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 104 ~                         diesel::RunQueryDsl::execute(diesel::insert_into(cart_products::table)
[INFO] [stdout] 105 +                             .values(&product), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 104 ~                         diesel_async::RunQueryDsl::execute(diesel::insert_into(cart_products::table)
[INFO] [stdout] 105 +                             .values(&product), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/cart/handlers.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         .load::<(Cart, serde_json::Value)>(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let rows = diesel_async::RunQueryDsl::load(carts::table
[INFO] [stdout] 24 +         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 25 +         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 26 +         .select((
[INFO] [stdout] 27 +             Cart::as_select(),
[INFO] [stdout] 28 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 29 +                 "COALESCE(
[INFO] [stdout] 30 +                 json_agg(
[INFO] [stdout] 31 +                 json_build_object(
[INFO] [stdout] 32 +                     'id', products.id,
[INFO] [stdout] 33 +                     'title', products.title,
[INFO] [stdout] 34 +                     'price', products.price,
[INFO] [stdout] 35 +                     'description', products.description,
[INFO] [stdout] 36 +                     'image', products.image,
[INFO] [stdout] 37 +                     'quantity', cart_products.quantity
[INFO] [stdout] 38 +                 )
[INFO] [stdout] 39 +             ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 40 +             '[]'
[INFO] [stdout] 41 +         )",
[INFO] [stdout] 42 +             ),
[INFO] [stdout] 43 +         ))
[INFO] [stdout] 44 +         .group_by(carts::id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let rows = diesel::RunQueryDsl::load(carts::table
[INFO] [stdout] 24 +         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 25 +         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 26 +         .select((
[INFO] [stdout] 27 +             Cart::as_select(),
[INFO] [stdout] 28 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 29 +                 "COALESCE(
[INFO] [stdout] 30 +                 json_agg(
[INFO] [stdout] 31 +                 json_build_object(
[INFO] [stdout] 32 +                     'id', products.id,
[INFO] [stdout] 33 +                     'title', products.title,
[INFO] [stdout] 34 +                     'price', products.price,
[INFO] [stdout] 35 +                     'description', products.description,
[INFO] [stdout] 36 +                     'image', products.image,
[INFO] [stdout] 37 +                     'quantity', cart_products.quantity
[INFO] [stdout] 38 +                 )
[INFO] [stdout] 39 +             ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 40 +             '[]'
[INFO] [stdout] 41 +         )",
[INFO] [stdout] 42 +             ),
[INFO] [stdout] 43 +         ))
[INFO] [stdout] 44 +         .group_by(carts::id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/cart/handlers.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let rows = carts::table
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 24 | |         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 25 | |         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 26 | |         .select((
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |         .load::<(Cart, serde_json::Value)>(&mut conn)
[INFO] [stdout] 46 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/cart/handlers.rs:77:22
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     .get_result(&mut conn)
[INFO] [stdout]    |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 74 ~                 let cart = diesel_async::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 75 +                     .filter(carts::user_id.eq(&user_id))
[INFO] [stdout] 76 +                     .select(Cart::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 74 ~                 let cart = diesel::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 75 +                     .filter(carts::user_id.eq(&user_id))
[INFO] [stdout] 76 +                     .select(Cart::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/cart/handlers.rs:168:22
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     .get_result(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 165 ~                 let cart = diesel_async::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 166 +                     .filter(carts::user_id.eq(&user_id))
[INFO] [stdout] 167 +                     .select(Cart::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 165 ~                 let cart = diesel::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 166 +                     .filter(carts::user_id.eq(&user_id))
[INFO] [stdout] 167 +                     .select(Cart::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/cart/handlers.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let prods = cart_products::table
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |                 for prod in prods.iter() {
[INFO] [stdout]    |                             ----- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `prods` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let prods: /* Type */ = cart_products::table
[INFO] [stdout]    |                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/cart/handlers.rs:106:30
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   .execute(&mut conn)
[INFO] [stdout]     |                        ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 104 ~                         diesel::RunQueryDsl::execute(diesel::insert_into(cart_products::table)
[INFO] [stdout] 105 +                             .values(&product), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 104 ~                         diesel_async::RunQueryDsl::execute(diesel::insert_into(cart_products::table)
[INFO] [stdout] 105 +                             .values(&product), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/cart/handlers.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let prods = cart_products::table
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |                 for prod in prods.iter() {
[INFO] [stdout]     |                             ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `prods` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let prods: /* Type */ = cart_products::table
[INFO] [stdout]     |                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/cart/handlers.rs:168:22
[INFO] [stdout]     |
[INFO] [stdout] 168 |                     .get_result(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 165 ~                 let cart = diesel_async::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 166 +                     .filter(carts::user_id.eq(&user_id))
[INFO] [stdout] 167 +                     .select(Cart::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 165 ~                 let cart = diesel::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 166 +                     .filter(carts::user_id.eq(&user_id))
[INFO] [stdout] 167 +                     .select(Cart::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/cart/handlers.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let prods = cart_products::table
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |                 for prod in prods.iter() {
[INFO] [stdout]     |                             ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `prods` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let prods: /* Type */ = cart_products::table
[INFO] [stdout]     |                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/cart/handlers.rs:270:10
[INFO] [stdout]     |
[INFO] [stdout] 270 |         .get_result::<(Cart, serde_json::Value)>(conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 246 ~     let (cart, products) = diesel_async::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 247 +         .find(cart_id)
[INFO] [stdout] 248 +         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 249 +         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 250 +         .select((
[INFO] [stdout] 251 +             Cart::as_select(),
[INFO] [stdout] 252 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 253 +                 "COALESCE(
[INFO] [stdout] 254 +                 json_agg(
[INFO] [stdout] 255 +                 json_build_object(
[INFO] [stdout] 256 +                     'id', products.id,
[INFO] [stdout] 257 +                     'title', products.title,
[INFO] [stdout] 258 +                     'price', products.price,
[INFO] [stdout] 259 +                     'description', products.description,
[INFO] [stdout] 260 +                     'image', products.image,
[INFO] [stdout] 261 +                     'quantity', cart_products.quantity
[INFO] [stdout] 262 +                         )
[INFO] [stdout] 263 +                         ORDER BY products.id
[INFO] [stdout] 264 +                     ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 265 +                         '[]'
[INFO] [stdout] 266 +                         )",
[INFO] [stdout] 267 +             ),
[INFO] [stdout] 268 +         ))
[INFO] [stdout] 269 +         .group_by(carts::id), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 246 ~     let (cart, products) = diesel::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 247 +         .find(cart_id)
[INFO] [stdout] 248 +         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 249 +         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 250 +         .select((
[INFO] [stdout] 251 +             Cart::as_select(),
[INFO] [stdout] 252 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 253 +                 "COALESCE(
[INFO] [stdout] 254 +                 json_agg(
[INFO] [stdout] 255 +                 json_build_object(
[INFO] [stdout] 256 +                     'id', products.id,
[INFO] [stdout] 257 +                     'title', products.title,
[INFO] [stdout] 258 +                     'price', products.price,
[INFO] [stdout] 259 +                     'description', products.description,
[INFO] [stdout] 260 +                     'image', products.image,
[INFO] [stdout] 261 +                     'quantity', cart_products.quantity
[INFO] [stdout] 262 +                         )
[INFO] [stdout] 263 +                         ORDER BY products.id
[INFO] [stdout] 264 +                     ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 265 +                         '[]'
[INFO] [stdout] 266 +                         )",
[INFO] [stdout] 267 +             ),
[INFO] [stdout] 268 +         ))
[INFO] [stdout] 269 +         .group_by(carts::id), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/category/handlers.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 19 ~     let res = diesel::RunQueryDsl::get_result(diesel::insert_into(categories::table)
[INFO] [stdout] 20 +         .values(&payload)
[INFO] [stdout] 21 +         .returning(Category::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 19 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::insert_into(categories::table)
[INFO] [stdout] 20 +         .values(&payload)
[INFO] [stdout] 21 +         .returning(Category::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/category/handlers.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |       let res = diesel::insert_into(categories::table)
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 20 | |         .values(&payload)
[INFO] [stdout] 21 | |         .returning(Category::as_returning())
[INFO] [stdout] 22 | |         .get_result(&mut conn)
[INFO] [stdout] 23 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/category/handlers.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     let res = diesel_async::RunQueryDsl::load(categories::table
[INFO] [stdout] 35 +         .select(Category::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     let res = diesel::RunQueryDsl::load(categories::table
[INFO] [stdout] 35 +         .select(Category::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/category/handlers.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let res = categories::table
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 35 | |         .select(Category::as_select())
[INFO] [stdout] 36 | |         .load(&mut conn)
[INFO] [stdout] 37 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/category/handlers.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 53 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(categories::table.find(id))
[INFO] [stdout] 54 +         .set(categories::title.eq(payload.title))
[INFO] [stdout] 55 +         .returning(Category::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 53 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(categories::table.find(id))
[INFO] [stdout] 54 +         .set(categories::title.eq(payload.title))
[INFO] [stdout] 55 +         .returning(Category::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/category/handlers.rs:53:15
[INFO] [stdout]    |
[INFO] [stdout] 53 |       let res = diesel::update(categories::table.find(id))
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 54 | |         .set(categories::title.eq(payload.title))
[INFO] [stdout] 55 | |         .returning(Category::as_returning())
[INFO] [stdout] 56 | |         .get_result(&mut conn)
[INFO] [stdout] 57 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/category/handlers.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 69 ~     let res = diesel_async::RunQueryDsl::get_result(categories::table
[INFO] [stdout] 70 +         .find(id)
[INFO] [stdout] 71 +         .select(Category::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 69 ~     let res = diesel::RunQueryDsl::get_result(categories::table
[INFO] [stdout] 70 +         .find(id)
[INFO] [stdout] 71 +         .select(Category::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/category/handlers.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |       let res = categories::table
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 70 | |         .find(id)
[INFO] [stdout] 71 | |         .select(Category::as_select())
[INFO] [stdout] 72 | |         .get_result(&mut conn)
[INFO] [stdout] 73 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/discount/handlers.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |         .load::<(Discount, serde_json::Value)>(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let rows = diesel_async::RunQueryDsl::load(discounts::table
[INFO] [stdout] 24 +         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 25 +         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 26 +         .select((
[INFO] [stdout] 27 +             Discount::as_select(),
[INFO] [stdout] 28 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 29 +                 "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 30 +             ),
[INFO] [stdout] 31 +         ))
[INFO] [stdout] 32 +         .group_by(discounts::id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let rows = diesel::RunQueryDsl::load(discounts::table
[INFO] [stdout] 24 +         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 25 +         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 26 +         .select((
[INFO] [stdout] 27 +             Discount::as_select(),
[INFO] [stdout] 28 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 29 +                 "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 30 +             ),
[INFO] [stdout] 31 +         ))
[INFO] [stdout] 32 +         .group_by(discounts::id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/discount/handlers.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let rows = discounts::table
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 24 | |         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 25 | |         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 26 | |         .select((
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |         .load::<(Discount, serde_json::Value)>(&mut conn)
[INFO] [stdout] 34 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/discount/handlers.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 73 ~     let res = diesel::RunQueryDsl::get_result(diesel::insert_into(discounts::table)
[INFO] [stdout] 74 +         .values(&payload)
[INFO] [stdout] 75 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 73 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::insert_into(discounts::table)
[INFO] [stdout] 74 +         .values(&payload)
[INFO] [stdout] 75 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/discount/handlers.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |       let res = diesel::insert_into(discounts::table)
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 74 | |         .values(&payload)
[INFO] [stdout] 75 | |         .returning(Discount::as_returning())
[INFO] [stdout] 76 | |         .get_result(&mut conn)
[INFO] [stdout] 77 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |                     .execute(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 120 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(discount_products::table)
[INFO] [stdout] 121 +                     .values(&prods), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 120 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(discount_products::table)
[INFO] [stdout] 121 +                     .values(&prods), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:139:22
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     .get_result::<(Discount, serde_json::Value)>(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 125 ~                 let (discount, products_json) = diesel_async::RunQueryDsl::get_result(discounts::table
[INFO] [stdout] 126 +                     .find(&id)
[INFO] [stdout] 127 +                     .left_join(
[INFO] [stdout] 128 +                         discount_products::table
[INFO] [stdout] 129 +                             .on(discounts::id.eq(discount_products::discount_id)),
[INFO] [stdout] 130 +                     )
[INFO] [stdout] 131 +                     .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 132 +                     .select((
[INFO] [stdout] 133 +                         Discount::as_select(),
[INFO] [stdout] 134 +                         sql::<diesel::sql_types::Json>(
[INFO] [stdout] 135 +                             "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 136 +                         ),
[INFO] [stdout] 137 +                     ))
[INFO] [stdout] 138 +                     .group_by(discounts::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 125 ~                 let (discount, products_json) = diesel::RunQueryDsl::get_result(discounts::table
[INFO] [stdout] 126 +                     .find(&id)
[INFO] [stdout] 127 +                     .left_join(
[INFO] [stdout] 128 +                         discount_products::table
[INFO] [stdout] 129 +                             .on(discounts::id.eq(discount_products::discount_id)),
[INFO] [stdout] 130 +                     )
[INFO] [stdout] 131 +                     .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 132 +                     .select((
[INFO] [stdout] 133 +                         Discount::as_select(),
[INFO] [stdout] 134 +                         sql::<diesel::sql_types::Json>(
[INFO] [stdout] 135 +                             "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 136 +                         ),
[INFO] [stdout] 137 +                     ))
[INFO] [stdout] 138 +                     .group_by(discounts::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:179:6
[INFO] [stdout]     |
[INFO] [stdout] 179 |     .execute(&mut conn)
[INFO] [stdout]     |      ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 174 ~     let deleted_count = diesel::RunQueryDsl::execute(diesel::delete(
[INFO] [stdout] 175 +         discount_products::table
[INFO] [stdout] 176 +             .filter(discount_products::discount_id.eq(&id))
[INFO] [stdout] 177 +             .filter(discount_products::product_id.eq_any(&ids)),
[INFO] [stdout] 178 +     ), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 174 ~     let deleted_count = diesel_async::RunQueryDsl::execute(diesel::delete(
[INFO] [stdout] 175 +         discount_products::table
[INFO] [stdout] 176 +             .filter(discount_products::discount_id.eq(&id))
[INFO] [stdout] 177 +             .filter(discount_products::product_id.eq_any(&ids)),
[INFO] [stdout] 178 +     ), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/discount/handlers.rs:174:25
[INFO] [stdout]     |
[INFO] [stdout] 174 |       let deleted_count = diesel::delete(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 175 | |         discount_products::table
[INFO] [stdout] 176 | |             .filter(discount_products::discount_id.eq(&id))
[INFO] [stdout] 177 | |             .filter(discount_products::product_id.eq_any(&ids)),
[INFO] [stdout] 178 | |     )
[INFO] [stdout] 179 | |     .execute(&mut conn)
[INFO] [stdout] 180 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:207:10
[INFO] [stdout]     |
[INFO] [stdout] 207 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 204 ~     diesel_async::RunQueryDsl::get_result(diesel::update(discounts::table.find(&id))
[INFO] [stdout] 205 +         .set(&payload)
[INFO] [stdout] 206 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 204 ~     diesel::RunQueryDsl::get_result(diesel::update(discounts::table.find(&id))
[INFO] [stdout] 205 +         .set(&payload)
[INFO] [stdout] 206 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/discount/handlers.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 | /     diesel::update(discounts::table.find(&id))
[INFO] [stdout] 205 | |         .set(&payload)
[INFO] [stdout] 206 | |         .returning(Discount::as_returning())
[INFO] [stdout] 207 | |         .get_result(&mut conn)
[INFO] [stdout] 208 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/cart/handlers.rs:270:10
[INFO] [stdout]     |
[INFO] [stdout] 270 |         .get_result::<(Cart, serde_json::Value)>(conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 246 ~     let (cart, products) = diesel_async::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 247 +         .find(cart_id)
[INFO] [stdout] 248 +         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 249 +         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 250 +         .select((
[INFO] [stdout] 251 +             Cart::as_select(),
[INFO] [stdout] 252 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 253 +                 "COALESCE(
[INFO] [stdout] 254 +                 json_agg(
[INFO] [stdout] 255 +                 json_build_object(
[INFO] [stdout] 256 +                     'id', products.id,
[INFO] [stdout] 257 +                     'title', products.title,
[INFO] [stdout] 258 +                     'price', products.price,
[INFO] [stdout] 259 +                     'description', products.description,
[INFO] [stdout] 260 +                     'image', products.image,
[INFO] [stdout] 261 +                     'quantity', cart_products.quantity
[INFO] [stdout] 262 +                         )
[INFO] [stdout] 263 +                         ORDER BY products.id
[INFO] [stdout] 264 +                     ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 265 +                         '[]'
[INFO] [stdout] 266 +                         )",
[INFO] [stdout] 267 +             ),
[INFO] [stdout] 268 +         ))
[INFO] [stdout] 269 +         .group_by(carts::id), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 246 ~     let (cart, products) = diesel::RunQueryDsl::get_result(carts::table
[INFO] [stdout] 247 +         .find(cart_id)
[INFO] [stdout] 248 +         .left_join(cart_products::table.on(carts::id.eq(cart_products::cart_id)))
[INFO] [stdout] 249 +         .left_join(products::table.on(cart_products::product_id.eq(products::id)))
[INFO] [stdout] 250 +         .select((
[INFO] [stdout] 251 +             Cart::as_select(),
[INFO] [stdout] 252 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 253 +                 "COALESCE(
[INFO] [stdout] 254 +                 json_agg(
[INFO] [stdout] 255 +                 json_build_object(
[INFO] [stdout] 256 +                     'id', products.id,
[INFO] [stdout] 257 +                     'title', products.title,
[INFO] [stdout] 258 +                     'price', products.price,
[INFO] [stdout] 259 +                     'description', products.description,
[INFO] [stdout] 260 +                     'image', products.image,
[INFO] [stdout] 261 +                     'quantity', cart_products.quantity
[INFO] [stdout] 262 +                         )
[INFO] [stdout] 263 +                         ORDER BY products.id
[INFO] [stdout] 264 +                     ) FILTER (WHERE products.id IS NOT NULL),
[INFO] [stdout] 265 +                         '[]'
[INFO] [stdout] 266 +                         )",
[INFO] [stdout] 267 +             ),
[INFO] [stdout] 268 +         ))
[INFO] [stdout] 269 +         .group_by(carts::id), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/category/handlers.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 19 ~     let res = diesel::RunQueryDsl::get_result(diesel::insert_into(categories::table)
[INFO] [stdout] 20 +         .values(&payload)
[INFO] [stdout] 21 +         .returning(Category::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 19 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::insert_into(categories::table)
[INFO] [stdout] 20 +         .values(&payload)
[INFO] [stdout] 21 +         .returning(Category::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/category/handlers.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |       let res = diesel::insert_into(categories::table)
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 20 | |         .values(&payload)
[INFO] [stdout] 21 | |         .returning(Category::as_returning())
[INFO] [stdout] 22 | |         .get_result(&mut conn)
[INFO] [stdout] 23 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/category/handlers.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     let res = diesel_async::RunQueryDsl::load(categories::table
[INFO] [stdout] 35 +         .select(Category::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     let res = diesel::RunQueryDsl::load(categories::table
[INFO] [stdout] 35 +         .select(Category::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/category/handlers.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let res = categories::table
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 35 | |         .select(Category::as_select())
[INFO] [stdout] 36 | |         .load(&mut conn)
[INFO] [stdout] 37 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:233:10
[INFO] [stdout]     |
[INFO] [stdout] 233 |         .get_result::<(Discount, serde_json::Value)>(conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 222 ~     let (discount, products_json) = diesel_async::RunQueryDsl::get_result(discounts::table
[INFO] [stdout] 223 +         .find(discount_id)
[INFO] [stdout] 224 +         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 225 +         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 226 +         .select((
[INFO] [stdout] 227 +             Discount::as_select(),
[INFO] [stdout] 228 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 229 +                 "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 230 +             ),
[INFO] [stdout] 231 +         ))
[INFO] [stdout] 232 +         .group_by(discounts::id), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 222 ~     let (discount, products_json) = diesel::RunQueryDsl::get_result(discounts::table
[INFO] [stdout] 223 +         .find(discount_id)
[INFO] [stdout] 224 +         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 225 +         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 226 +         .select((
[INFO] [stdout] 227 +             Discount::as_select(),
[INFO] [stdout] 228 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 229 +                 "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 230 +             ),
[INFO] [stdout] 231 +         ))
[INFO] [stdout] 232 +         .group_by(discounts::id), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/discount/handlers.rs:222:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |       let (discount, products_json) = discounts::table
[INFO] [stdout]     |  _____________________________________^
[INFO] [stdout] 223 | |         .find(discount_id)
[INFO] [stdout] 224 | |         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 225 | |         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] ...   |
[INFO] [stdout] 233 | |         .get_result::<(Discount, serde_json::Value)>(conn)
[INFO] [stdout] 234 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/category/handlers.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 53 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(categories::table.find(id))
[INFO] [stdout] 54 +         .set(categories::title.eq(payload.title))
[INFO] [stdout] 55 +         .returning(Category::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 53 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(categories::table.find(id))
[INFO] [stdout] 54 +         .set(categories::title.eq(payload.title))
[INFO] [stdout] 55 +         .returning(Category::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/category/handlers.rs:53:15
[INFO] [stdout]    |
[INFO] [stdout] 53 |       let res = diesel::update(categories::table.find(id))
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 54 | |         .set(categories::title.eq(payload.title))
[INFO] [stdout] 55 | |         .returning(Category::as_returning())
[INFO] [stdout] 56 | |         .get_result(&mut conn)
[INFO] [stdout] 57 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:255:10
[INFO] [stdout]     |
[INFO] [stdout] 255 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 253 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(discounts::table.filter(discounts::id.eq(&id)))
[INFO] [stdout] 254 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 253 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(discounts::table.filter(discounts::id.eq(&id)))
[INFO] [stdout] 254 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/discount/handlers.rs:253:15
[INFO] [stdout]     |
[INFO] [stdout] 253 |       let res = diesel::delete(discounts::table.filter(discounts::id.eq(&id)))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 254 | |         .returning(Discount::as_returning())
[INFO] [stdout] 255 | |         .get_result(&mut conn)
[INFO] [stdout] 256 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/category/handlers.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 69 ~     let res = diesel_async::RunQueryDsl::get_result(categories::table
[INFO] [stdout] 70 +         .find(id)
[INFO] [stdout] 71 +         .select(Category::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 69 ~     let res = diesel::RunQueryDsl::get_result(categories::table
[INFO] [stdout] 70 +         .find(id)
[INFO] [stdout] 71 +         .select(Category::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/category/handlers.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |       let res = categories::table
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 70 | |         .find(id)
[INFO] [stdout] 71 | |         .select(Category::as_select())
[INFO] [stdout] 72 | |         .get_result(&mut conn)
[INFO] [stdout] 73 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/health/handlers.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |         .first::<i32>(&mut conn)
[INFO] [stdout]    |          ^^^^^ multiple `first` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 30 ~     let health_check = diesel_async::RunQueryDsl::first(products::table
[INFO] [stdout] 31 +         .select(diesel::dsl::sql::<Integer>("1")), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 30 ~     let health_check = diesel::RunQueryDsl::first(products::table
[INFO] [stdout] 31 +         .select(diesel::dsl::sql::<Integer>("1")), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/health/handlers.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let health_check = products::table
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 31 | |         .select(diesel::dsl::sql::<Integer>("1"))
[INFO] [stdout] 32 | |         .first::<i32>(&mut conn)
[INFO] [stdout] 33 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/notification/handlers.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 .load(&mut conn)
[INFO] [stdout]    |                  ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 30 ~             let users: Vec<String> = diesel_async::RunQueryDsl::load(users::table
[INFO] [stdout] 31 +                 .inner_join(user_subscriptions::table.on(user_subscriptions::user_id.eq(users::id)))
[INFO] [stdout] 32 +                 .filter(
[INFO] [stdout] 33 +                     user_subscriptions::channel
[INFO] [stdout] 34 +                         .eq("email")
[INFO] [stdout] 35 +                         .and(user_subscriptions::discount_notifications.eq(true)),
[INFO] [stdout] 36 +                 )
[INFO] [stdout] 37 +                 .select(users::email), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 30 ~             let users: Vec<String> = diesel::RunQueryDsl::load(users::table
[INFO] [stdout] 31 +                 .inner_join(user_subscriptions::table.on(user_subscriptions::user_id.eq(users::id)))
[INFO] [stdout] 32 +                 .filter(
[INFO] [stdout] 33 +                     user_subscriptions::channel
[INFO] [stdout] 34 +                         .eq("email")
[INFO] [stdout] 35 +                         .and(user_subscriptions::discount_notifications.eq(true)),
[INFO] [stdout] 36 +                 )
[INFO] [stdout] 37 +                 .select(users::email), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/notification/handlers.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |               let users: Vec<String> = users::table
[INFO] [stdout]    |  ______________________________________^
[INFO] [stdout] 31 | |                 .inner_join(user_subscriptions::table.on(user_subscriptions::user_id.eq(users::id)))
[INFO] [stdout] 32 | |                 .filter(
[INFO] [stdout] 33 | |                     user_subscriptions::channel
[INFO] [stdout] ...  |
[INFO] [stdout] 38 | |                 .load(&mut conn)
[INFO] [stdout] 39 | |                 .await
[INFO] [stdout]    | |______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/discount/handlers.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |         .load::<(Discount, serde_json::Value)>(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let rows = diesel_async::RunQueryDsl::load(discounts::table
[INFO] [stdout] 24 +         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 25 +         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 26 +         .select((
[INFO] [stdout] 27 +             Discount::as_select(),
[INFO] [stdout] 28 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 29 +                 "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 30 +             ),
[INFO] [stdout] 31 +         ))
[INFO] [stdout] 32 +         .group_by(discounts::id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let rows = diesel::RunQueryDsl::load(discounts::table
[INFO] [stdout] 24 +         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 25 +         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 26 +         .select((
[INFO] [stdout] 27 +             Discount::as_select(),
[INFO] [stdout] 28 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 29 +                 "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 30 +             ),
[INFO] [stdout] 31 +         ))
[INFO] [stdout] 32 +         .group_by(discounts::id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/discount/handlers.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let rows = discounts::table
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 24 | |         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 25 | |         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 26 | |         .select((
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |         .load::<(Discount, serde_json::Value)>(&mut conn)
[INFO] [stdout] 34 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/discount/handlers.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 73 ~     let res = diesel::RunQueryDsl::get_result(diesel::insert_into(discounts::table)
[INFO] [stdout] 74 +         .values(&payload)
[INFO] [stdout] 75 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 73 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::insert_into(discounts::table)
[INFO] [stdout] 74 +         .values(&payload)
[INFO] [stdout] 75 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/discount/handlers.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |       let res = diesel::insert_into(discounts::table)
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 74 | |         .values(&payload)
[INFO] [stdout] 75 | |         .returning(Discount::as_returning())
[INFO] [stdout] 76 | |         .get_result(&mut conn)
[INFO] [stdout] 77 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |                     .execute(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 120 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(discount_products::table)
[INFO] [stdout] 121 +                     .values(&prods), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 120 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(discount_products::table)
[INFO] [stdout] 121 +                     .values(&prods), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/product/handlers.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     let res = diesel::RunQueryDsl::get_result(diesel::insert_into(products::table)
[INFO] [stdout] 34 +         .values(&payload)
[INFO] [stdout] 35 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::insert_into(products::table)
[INFO] [stdout] 34 +         .values(&payload)
[INFO] [stdout] 35 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/product/handlers.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |       let res = diesel::insert_into(products::table)
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 34 | |         .values(&payload)
[INFO] [stdout] 35 | |         .returning(Product::as_returning())
[INFO] [stdout] 36 | |         .get_result(&mut conn)
[INFO] [stdout] 37 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/product/handlers.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 51 ~     let product = diesel::RunQueryDsl::get_result(diesel::insert_into(products::table)
[INFO] [stdout] 52 +         .values(&payload.product)
[INFO] [stdout] 53 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 51 ~     let product = diesel_async::RunQueryDsl::get_result(diesel::insert_into(products::table)
[INFO] [stdout] 52 +         .values(&payload.product)
[INFO] [stdout] 53 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/product/handlers.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 |       let product = diesel::insert_into(products::table)
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 52 | |         .values(&payload.product)
[INFO] [stdout] 53 | |         .returning(Product::as_returning())
[INFO] [stdout] 54 | |         .get_result(&mut conn)
[INFO] [stdout] 55 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/product/handlers.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |         .execute(&mut conn)
[INFO] [stdout]    |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 67 ~     diesel::RunQueryDsl::execute(diesel::insert_into(product_categories::table)
[INFO] [stdout] 68 +         .values(&categories), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 67 ~     diesel_async::RunQueryDsl::execute(diesel::insert_into(product_categories::table)
[INFO] [stdout] 68 +         .values(&categories), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/product/handlers.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | /     diesel::insert_into(product_categories::table)
[INFO] [stdout] 68 | |         .values(&categories)
[INFO] [stdout] 69 | |         .execute(&mut conn)
[INFO] [stdout] 70 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:139:22
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     .get_result::<(Discount, serde_json::Value)>(&mut conn)
[INFO] [stdout]     |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 125 ~                 let (discount, products_json) = diesel_async::RunQueryDsl::get_result(discounts::table
[INFO] [stdout] 126 +                     .find(&id)
[INFO] [stdout] 127 +                     .left_join(
[INFO] [stdout] 128 +                         discount_products::table
[INFO] [stdout] 129 +                             .on(discounts::id.eq(discount_products::discount_id)),
[INFO] [stdout] 130 +                     )
[INFO] [stdout] 131 +                     .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 132 +                     .select((
[INFO] [stdout] 133 +                         Discount::as_select(),
[INFO] [stdout] 134 +                         sql::<diesel::sql_types::Json>(
[INFO] [stdout] 135 +                             "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 136 +                         ),
[INFO] [stdout] 137 +                     ))
[INFO] [stdout] 138 +                     .group_by(discounts::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 125 ~                 let (discount, products_json) = diesel::RunQueryDsl::get_result(discounts::table
[INFO] [stdout] 126 +                     .find(&id)
[INFO] [stdout] 127 +                     .left_join(
[INFO] [stdout] 128 +                         discount_products::table
[INFO] [stdout] 129 +                             .on(discounts::id.eq(discount_products::discount_id)),
[INFO] [stdout] 130 +                     )
[INFO] [stdout] 131 +                     .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 132 +                     .select((
[INFO] [stdout] 133 +                         Discount::as_select(),
[INFO] [stdout] 134 +                         sql::<diesel::sql_types::Json>(
[INFO] [stdout] 135 +                             "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 136 +                         ),
[INFO] [stdout] 137 +                     ))
[INFO] [stdout] 138 +                     .group_by(discounts::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:179:6
[INFO] [stdout]     |
[INFO] [stdout] 179 |     .execute(&mut conn)
[INFO] [stdout]     |      ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 174 ~     let deleted_count = diesel::RunQueryDsl::execute(diesel::delete(
[INFO] [stdout] 175 +         discount_products::table
[INFO] [stdout] 176 +             .filter(discount_products::discount_id.eq(&id))
[INFO] [stdout] 177 +             .filter(discount_products::product_id.eq_any(&ids)),
[INFO] [stdout] 178 +     ), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 174 ~     let deleted_count = diesel_async::RunQueryDsl::execute(diesel::delete(
[INFO] [stdout] 175 +         discount_products::table
[INFO] [stdout] 176 +             .filter(discount_products::discount_id.eq(&id))
[INFO] [stdout] 177 +             .filter(discount_products::product_id.eq_any(&ids)),
[INFO] [stdout] 178 +     ), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/discount/handlers.rs:174:25
[INFO] [stdout]     |
[INFO] [stdout] 174 |       let deleted_count = diesel::delete(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 175 | |         discount_products::table
[INFO] [stdout] 176 | |             .filter(discount_products::discount_id.eq(&id))
[INFO] [stdout] 177 | |             .filter(discount_products::product_id.eq_any(&ids)),
[INFO] [stdout] 178 | |     )
[INFO] [stdout] 179 | |     .execute(&mut conn)
[INFO] [stdout] 180 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:207:10
[INFO] [stdout]     |
[INFO] [stdout] 207 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 204 ~     diesel_async::RunQueryDsl::get_result(diesel::update(discounts::table.find(&id))
[INFO] [stdout] 205 +         .set(&payload)
[INFO] [stdout] 206 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 204 ~     diesel::RunQueryDsl::get_result(diesel::update(discounts::table.find(&id))
[INFO] [stdout] 205 +         .set(&payload)
[INFO] [stdout] 206 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/discount/handlers.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 | /     diesel::update(discounts::table.find(&id))
[INFO] [stdout] 205 | |         .set(&payload)
[INFO] [stdout] 206 | |         .returning(Discount::as_returning())
[INFO] [stdout] 207 | |         .get_result(&mut conn)
[INFO] [stdout] 208 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:233:10
[INFO] [stdout]     |
[INFO] [stdout] 233 |         .get_result::<(Discount, serde_json::Value)>(conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 222 ~     let (discount, products_json) = diesel_async::RunQueryDsl::get_result(discounts::table
[INFO] [stdout] 223 +         .find(discount_id)
[INFO] [stdout] 224 +         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 225 +         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 226 +         .select((
[INFO] [stdout] 227 +             Discount::as_select(),
[INFO] [stdout] 228 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 229 +                 "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 230 +             ),
[INFO] [stdout] 231 +         ))
[INFO] [stdout] 232 +         .group_by(discounts::id), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 222 ~     let (discount, products_json) = diesel::RunQueryDsl::get_result(discounts::table
[INFO] [stdout] 223 +         .find(discount_id)
[INFO] [stdout] 224 +         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 225 +         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] 226 +         .select((
[INFO] [stdout] 227 +             Discount::as_select(),
[INFO] [stdout] 228 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 229 +                 "COALESCE(json_agg(products.* ORDER BY products.id), '[]')",
[INFO] [stdout] 230 +             ),
[INFO] [stdout] 231 +         ))
[INFO] [stdout] 232 +         .group_by(discounts::id), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/discount/handlers.rs:222:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |       let (discount, products_json) = discounts::table
[INFO] [stdout]     |  _____________________________________^
[INFO] [stdout] 223 | |         .find(discount_id)
[INFO] [stdout] 224 | |         .left_join(discount_products::table.on(discounts::id.eq(discount_products::discount_id)))
[INFO] [stdout] 225 | |         .left_join(products::table.on(discount_products::product_id.eq(products::id)))
[INFO] [stdout] ...   |
[INFO] [stdout] 233 | |         .get_result::<(Discount, serde_json::Value)>(conn)
[INFO] [stdout] 234 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/discount/handlers.rs:255:10
[INFO] [stdout]     |
[INFO] [stdout] 255 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 253 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(discounts::table.filter(discounts::id.eq(&id)))
[INFO] [stdout] 254 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 253 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(discounts::table.filter(discounts::id.eq(&id)))
[INFO] [stdout] 254 +         .returning(Discount::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/discount/handlers.rs:253:15
[INFO] [stdout]     |
[INFO] [stdout] 253 |       let res = diesel::delete(discounts::table.filter(discounts::id.eq(&id)))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 254 | |         .returning(Discount::as_returning())
[INFO] [stdout] 255 | |         .get_result(&mut conn)
[INFO] [stdout] 256 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/health/handlers.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |         .first::<i32>(&mut conn)
[INFO] [stdout]    |          ^^^^^ multiple `first` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 30 ~     let health_check = diesel_async::RunQueryDsl::first(products::table
[INFO] [stdout] 31 +         .select(diesel::dsl::sql::<Integer>("1")), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 30 ~     let health_check = diesel::RunQueryDsl::first(products::table
[INFO] [stdout] 31 +         .select(diesel::dsl::sql::<Integer>("1")), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/health/handlers.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let health_check = products::table
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 31 | |         .select(diesel::dsl::sql::<Integer>("1"))
[INFO] [stdout] 32 | |         .first::<i32>(&mut conn)
[INFO] [stdout] 33 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 |         .first::<i64>(&mut conn)
[INFO] [stdout]     |          ^^^^^ multiple `first` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `BoxedSelectStatement<'_, ST, QS, DB, GB>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 139 ~     let total = diesel::RunQueryDsl::first(count_query
[INFO] [stdout] 140 +         .select(diesel::dsl::count_distinct(products::id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 139 ~     let total = diesel_async::RunQueryDsl::first(count_query
[INFO] [stdout] 140 +         .select(diesel::dsl::count_distinct(products::id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |       let total = count_query
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 140 | |         .select(diesel::dsl::count_distinct(products::id))
[INFO] [stdout] 141 | |         .first::<i64>(&mut conn)
[INFO] [stdout] 142 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:170:10
[INFO] [stdout]     |
[INFO] [stdout] 170 |         .load::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `BoxedSelectStatement<'_, ST, QS, DB, GB>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 169 -     let rows = query
[INFO] [stdout] 170 -         .load::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout] 169 +     let rows = diesel::RunQueryDsl::load(query, &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 169 -     let rows = query
[INFO] [stdout] 170 -         .load::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout] 169 +     let rows = diesel_async::RunQueryDsl::load(query, &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |       let rows = query
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 170 | |         .load::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout] 171 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/notification/handlers.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 .load(&mut conn)
[INFO] [stdout]    |                  ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 30 ~             let users: Vec<String> = diesel_async::RunQueryDsl::load(users::table
[INFO] [stdout] 31 +                 .inner_join(user_subscriptions::table.on(user_subscriptions::user_id.eq(users::id)))
[INFO] [stdout] 32 +                 .filter(
[INFO] [stdout] 33 +                     user_subscriptions::channel
[INFO] [stdout] 34 +                         .eq("email")
[INFO] [stdout] 35 +                         .and(user_subscriptions::discount_notifications.eq(true)),
[INFO] [stdout] 36 +                 )
[INFO] [stdout] 37 +                 .select(users::email), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 30 ~             let users: Vec<String> = diesel::RunQueryDsl::load(users::table
[INFO] [stdout] 31 +                 .inner_join(user_subscriptions::table.on(user_subscriptions::user_id.eq(users::id)))
[INFO] [stdout] 32 +                 .filter(
[INFO] [stdout] 33 +                     user_subscriptions::channel
[INFO] [stdout] 34 +                         .eq("email")
[INFO] [stdout] 35 +                         .and(user_subscriptions::discount_notifications.eq(true)),
[INFO] [stdout] 36 +                 )
[INFO] [stdout] 37 +                 .select(users::email), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/notification/handlers.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |               let users: Vec<String> = users::table
[INFO] [stdout]    |  ______________________________________^
[INFO] [stdout] 31 | |                 .inner_join(user_subscriptions::table.on(user_subscriptions::user_id.eq(users::id)))
[INFO] [stdout] 32 | |                 .filter(
[INFO] [stdout] 33 | |                     user_subscriptions::channel
[INFO] [stdout] ...  |
[INFO] [stdout] 38 | |                 .load(&mut conn)
[INFO] [stdout] 39 | |                 .await
[INFO] [stdout]    | |______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/product/handlers.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     let res = diesel::RunQueryDsl::get_result(diesel::insert_into(products::table)
[INFO] [stdout] 34 +         .values(&payload)
[INFO] [stdout] 35 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::insert_into(products::table)
[INFO] [stdout] 34 +         .values(&payload)
[INFO] [stdout] 35 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/product/handlers.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |       let res = diesel::insert_into(products::table)
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 34 | |         .values(&payload)
[INFO] [stdout] 35 | |         .returning(Product::as_returning())
[INFO] [stdout] 36 | |         .get_result(&mut conn)
[INFO] [stdout] 37 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/product/handlers.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 51 ~     let product = diesel::RunQueryDsl::get_result(diesel::insert_into(products::table)
[INFO] [stdout] 52 +         .values(&payload.product)
[INFO] [stdout] 53 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 51 ~     let product = diesel_async::RunQueryDsl::get_result(diesel::insert_into(products::table)
[INFO] [stdout] 52 +         .values(&payload.product)
[INFO] [stdout] 53 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/product/handlers.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 |       let product = diesel::insert_into(products::table)
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 52 | |         .values(&payload.product)
[INFO] [stdout] 53 | |         .returning(Product::as_returning())
[INFO] [stdout] 54 | |         .get_result(&mut conn)
[INFO] [stdout] 55 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/product/handlers.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |         .execute(&mut conn)
[INFO] [stdout]    |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 67 ~     diesel::RunQueryDsl::execute(diesel::insert_into(product_categories::table)
[INFO] [stdout] 68 +         .values(&categories), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 67 ~     diesel_async::RunQueryDsl::execute(diesel::insert_into(product_categories::table)
[INFO] [stdout] 68 +         .values(&categories), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/product/handlers.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | /     diesel::insert_into(product_categories::table)
[INFO] [stdout] 68 | |         .values(&categories)
[INFO] [stdout] 69 | |         .execute(&mut conn)
[INFO] [stdout] 70 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:215:10
[INFO] [stdout]     |
[INFO] [stdout] 215 |         .get_result::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 204 ~     let (product, categories_json) = diesel_async::RunQueryDsl::get_result(products::table
[INFO] [stdout] 205 +         .find(id)
[INFO] [stdout] 206 +         .left_join(product_categories::table.on(products::id.eq(product_categories::product_id)))
[INFO] [stdout] 207 +         .left_join(categories::table.on(product_categories::category_id.eq(categories::id)))
[INFO] [stdout] 208 +         .select((
[INFO] [stdout] 209 +             Product::as_select(),
[INFO] [stdout] 210 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 211 +                 "COALESCE(json_agg(categories.*) FILTER (WHERE categories.id IS NOT NULL), '[]')",
[INFO] [stdout] 212 +             ),
[INFO] [stdout] 213 +         ))
[INFO] [stdout] 214 +         .group_by(products::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 204 ~     let (product, categories_json) = diesel::RunQueryDsl::get_result(products::table
[INFO] [stdout] 205 +         .find(id)
[INFO] [stdout] 206 +         .left_join(product_categories::table.on(products::id.eq(product_categories::product_id)))
[INFO] [stdout] 207 +         .left_join(categories::table.on(product_categories::category_id.eq(categories::id)))
[INFO] [stdout] 208 +         .select((
[INFO] [stdout] 209 +             Product::as_select(),
[INFO] [stdout] 210 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 211 +                 "COALESCE(json_agg(categories.*) FILTER (WHERE categories.id IS NOT NULL), '[]')",
[INFO] [stdout] 212 +             ),
[INFO] [stdout] 213 +         ))
[INFO] [stdout] 214 +         .group_by(products::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:204:38
[INFO] [stdout]     |
[INFO] [stdout] 204 |       let (product, categories_json) = products::table
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 205 | |         .find(id)
[INFO] [stdout] 206 | |         .left_join(product_categories::table.on(products::id.eq(product_categories::product_id)))
[INFO] [stdout] 207 | |         .left_join(categories::table.on(product_categories::category_id.eq(categories::id)))
[INFO] [stdout] ...   |
[INFO] [stdout] 215 | |         .get_result::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout] 216 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 235 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(products::table.find(id))
[INFO] [stdout] 236 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 235 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(products::table.find(id))
[INFO] [stdout] 236 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:235:15
[INFO] [stdout]     |
[INFO] [stdout] 235 |       let res = diesel::delete(products::table.find(id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 236 | |         .returning(Product::as_returning())
[INFO] [stdout] 237 | |         .get_result(&mut conn)
[INFO] [stdout] 238 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:256:10
[INFO] [stdout]     |
[INFO] [stdout] 256 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 253 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(products::table.find(id))
[INFO] [stdout] 254 +         .set(&payload)
[INFO] [stdout] 255 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 253 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(products::table.find(id))
[INFO] [stdout] 254 +         .set(&payload)
[INFO] [stdout] 255 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:253:15
[INFO] [stdout]     |
[INFO] [stdout] 253 |       let res = diesel::update(products::table.find(id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 254 | |         .set(&payload)
[INFO] [stdout] 255 | |         .returning(Product::as_returning())
[INFO] [stdout] 256 | |         .get_result(&mut conn)
[INFO] [stdout] 257 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:275:10
[INFO] [stdout]     |
[INFO] [stdout] 275 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 272 ~     let product = diesel_async::RunQueryDsl::get_result(products::table
[INFO] [stdout] 273 +         .find(id)
[INFO] [stdout] 274 +         .select(Product::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 272 ~     let product = diesel::RunQueryDsl::get_result(products::table
[INFO] [stdout] 273 +         .find(id)
[INFO] [stdout] 274 +         .select(Product::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:272:19
[INFO] [stdout]     |
[INFO] [stdout] 272 |       let product = products::table
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 273 | |         .find(id)
[INFO] [stdout] 274 | |         .select(Product::as_select())
[INFO] [stdout] 275 | |         .get_result(&mut conn)
[INFO] [stdout] 276 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:337:14
[INFO] [stdout]     |
[INFO] [stdout] 337 |             .get_result(&mut conn)
[INFO] [stdout]     |              ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 334 ~         diesel_async::RunQueryDsl::get_result(diesel::update(products::table.find(id))
[INFO] [stdout] 335 +             .set(products::image.eq(image))
[INFO] [stdout] 336 +             .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 334 ~         diesel::RunQueryDsl::get_result(diesel::update(products::table.find(id))
[INFO] [stdout] 335 +             .set(products::image.eq(image))
[INFO] [stdout] 336 +             .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:334:9
[INFO] [stdout]     |
[INFO] [stdout] 334 | /         diesel::update(products::table.find(id))
[INFO] [stdout] 335 | |             .set(products::image.eq(image))
[INFO] [stdout] 336 | |             .returning(Product::as_returning())
[INFO] [stdout] 337 | |             .get_result(&mut conn)
[INFO] [stdout] 338 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 |         .first::<i64>(&mut conn)
[INFO] [stdout]     |          ^^^^^ multiple `first` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `BoxedSelectStatement<'_, ST, QS, DB, GB>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 139 ~     let total = diesel::RunQueryDsl::first(count_query
[INFO] [stdout] 140 +         .select(diesel::dsl::count_distinct(products::id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 139 ~     let total = diesel_async::RunQueryDsl::first(count_query
[INFO] [stdout] 140 +         .select(diesel::dsl::count_distinct(products::id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |       let total = count_query
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 140 | |         .select(diesel::dsl::count_distinct(products::id))
[INFO] [stdout] 141 | |         .first::<i64>(&mut conn)
[INFO] [stdout] 142 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:170:10
[INFO] [stdout]     |
[INFO] [stdout] 170 |         .load::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `BoxedSelectStatement<'_, ST, QS, DB, GB>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 169 -     let rows = query
[INFO] [stdout] 170 -         .load::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout] 169 +     let rows = diesel::RunQueryDsl::load(query, &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 169 -     let rows = query
[INFO] [stdout] 170 -         .load::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout] 169 +     let rows = diesel_async::RunQueryDsl::load(query, &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |       let rows = query
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 170 | |         .load::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout] 171 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/user/handlers.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 25 ~     let res = diesel_async::RunQueryDsl::get_result(profiles::table
[INFO] [stdout] 26 +         .filter(profiles::user_id.eq(&id))
[INFO] [stdout] 27 +         .select(Profile::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 25 ~     let res = diesel::RunQueryDsl::get_result(profiles::table
[INFO] [stdout] 26 +         .filter(profiles::user_id.eq(&id))
[INFO] [stdout] 27 +         .select(Profile::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/user/handlers.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 |       let res = profiles::table
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 26 | |         .filter(profiles::user_id.eq(&id))
[INFO] [stdout] 27 | |         .select(Profile::as_select())
[INFO] [stdout] 28 | |         .get_result(&mut conn)
[INFO] [stdout] 29 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/user/handlers.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 45 ~     let res = diesel_async::RunQueryDsl::get_result(profiles::table
[INFO] [stdout] 46 +         .filter(profiles::user_id.eq(&user_id))
[INFO] [stdout] 47 +         .select(Profile::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 45 ~     let res = diesel::RunQueryDsl::get_result(profiles::table
[INFO] [stdout] 46 +         .filter(profiles::user_id.eq(&user_id))
[INFO] [stdout] 47 +         .select(Profile::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/user/handlers.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |       let res = profiles::table
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 46 | |         .filter(profiles::user_id.eq(&user_id))
[INFO] [stdout] 47 | |         .select(Profile::as_select())
[INFO] [stdout] 48 | |         .get_result(&mut conn)
[INFO] [stdout] 49 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/user/handlers.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 64 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(profiles::table.find(&id))
[INFO] [stdout] 65 +         .set(&payload)
[INFO] [stdout] 66 +         .returning(Profile::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 64 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(profiles::table.find(&id))
[INFO] [stdout] 65 +         .set(&payload)
[INFO] [stdout] 66 +         .returning(Profile::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/user/handlers.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |       let res = diesel::update(profiles::table.find(&id))
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 65 | |         .set(&payload)
[INFO] [stdout] 66 | |         .returning(Profile::as_returning())
[INFO] [stdout] 67 | |         .get_result(&mut conn)
[INFO] [stdout] 68 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/user/handlers.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 89 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 86 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(profiles::table.filter(profiles::user_id.eq(&user_id)))
[INFO] [stdout] 87 +         .set(&payload)
[INFO] [stdout] 88 +         .returning(Profile::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 86 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(profiles::table.filter(profiles::user_id.eq(&user_id)))
[INFO] [stdout] 87 +         .set(&payload)
[INFO] [stdout] 88 +         .returning(Profile::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/user/handlers.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |       let res = diesel::update(profiles::table.filter(profiles::user_id.eq(&user_id)))
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 87 | |         .set(&payload)
[INFO] [stdout] 88 | |         .returning(Profile::as_returning())
[INFO] [stdout] 89 | |         .get_result(&mut conn)
[INFO] [stdout] 90 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:215:10
[INFO] [stdout]     |
[INFO] [stdout] 215 |         .get_result::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 204 ~     let (product, categories_json) = diesel_async::RunQueryDsl::get_result(products::table
[INFO] [stdout] 205 +         .find(id)
[INFO] [stdout] 206 +         .left_join(product_categories::table.on(products::id.eq(product_categories::product_id)))
[INFO] [stdout] 207 +         .left_join(categories::table.on(product_categories::category_id.eq(categories::id)))
[INFO] [stdout] 208 +         .select((
[INFO] [stdout] 209 +             Product::as_select(),
[INFO] [stdout] 210 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 211 +                 "COALESCE(json_agg(categories.*) FILTER (WHERE categories.id IS NOT NULL), '[]')",
[INFO] [stdout] 212 +             ),
[INFO] [stdout] 213 +         ))
[INFO] [stdout] 214 +         .group_by(products::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 204 ~     let (product, categories_json) = diesel::RunQueryDsl::get_result(products::table
[INFO] [stdout] 205 +         .find(id)
[INFO] [stdout] 206 +         .left_join(product_categories::table.on(products::id.eq(product_categories::product_id)))
[INFO] [stdout] 207 +         .left_join(categories::table.on(product_categories::category_id.eq(categories::id)))
[INFO] [stdout] 208 +         .select((
[INFO] [stdout] 209 +             Product::as_select(),
[INFO] [stdout] 210 +             sql::<diesel::sql_types::Json>(
[INFO] [stdout] 211 +                 "COALESCE(json_agg(categories.*) FILTER (WHERE categories.id IS NOT NULL), '[]')",
[INFO] [stdout] 212 +             ),
[INFO] [stdout] 213 +         ))
[INFO] [stdout] 214 +         .group_by(products::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:204:38
[INFO] [stdout]     |
[INFO] [stdout] 204 |       let (product, categories_json) = products::table
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 205 | |         .find(id)
[INFO] [stdout] 206 | |         .left_join(product_categories::table.on(products::id.eq(product_categories::product_id)))
[INFO] [stdout] 207 | |         .left_join(categories::table.on(product_categories::category_id.eq(categories::id)))
[INFO] [stdout] ...   |
[INFO] [stdout] 215 | |         .get_result::<(Product, serde_json::Value)>(&mut conn)
[INFO] [stdout] 216 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     let current_default: i64 = diesel_async::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 108 +         .filter(
[INFO] [stdout] 109 +             addresses::user_id
[INFO] [stdout] 110 +                 .eq(&user_id)
[INFO] [stdout] 111 +                 .and(addresses::is_default.eq(true)),
[INFO] [stdout] 112 +         )
[INFO] [stdout] 113 +         .select(diesel::dsl::count_star()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     let current_default: i64 = diesel::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 108 +         .filter(
[INFO] [stdout] 109 +             addresses::user_id
[INFO] [stdout] 110 +                 .eq(&user_id)
[INFO] [stdout] 111 +                 .and(addresses::is_default.eq(true)),
[INFO] [stdout] 112 +         )
[INFO] [stdout] 113 +         .select(diesel::dsl::count_star()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:107:32
[INFO] [stdout]     |
[INFO] [stdout] 107 |       let current_default: i64 = addresses::table
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 108 | |         .filter(
[INFO] [stdout] 109 | |             addresses::user_id
[INFO] [stdout] 110 | |                 .eq(&user_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 114 | |         .get_result(&mut conn)
[INFO] [stdout] 115 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 235 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(products::table.find(id))
[INFO] [stdout] 236 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 235 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(products::table.find(id))
[INFO] [stdout] 236 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:235:15
[INFO] [stdout]     |
[INFO] [stdout] 235 |       let res = diesel::delete(products::table.find(id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 236 | |         .returning(Product::as_returning())
[INFO] [stdout] 237 | |         .get_result(&mut conn)
[INFO] [stdout] 238 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 159 ~     let res = diesel_async::RunQueryDsl::load(addresses::table
[INFO] [stdout] 160 +         .filter(addresses::user_id.eq(&id))
[INFO] [stdout] 161 +         .select(Address::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 159 ~     let res = diesel::RunQueryDsl::load(addresses::table
[INFO] [stdout] 160 +         .filter(addresses::user_id.eq(&id))
[INFO] [stdout] 161 +         .select(Address::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:159:15
[INFO] [stdout]     |
[INFO] [stdout] 159 |       let res = addresses::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 160 | |         .filter(addresses::user_id.eq(&id))
[INFO] [stdout] 161 | |         .select(Address::as_select())
[INFO] [stdout] 162 | |         .load(&mut conn)
[INFO] [stdout] 163 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:256:10
[INFO] [stdout]     |
[INFO] [stdout] 256 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 253 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(products::table.find(id))
[INFO] [stdout] 254 +         .set(&payload)
[INFO] [stdout] 255 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 253 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(products::table.find(id))
[INFO] [stdout] 254 +         .set(&payload)
[INFO] [stdout] 255 +         .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:253:15
[INFO] [stdout]     |
[INFO] [stdout] 253 |       let res = diesel::update(products::table.find(id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 254 | |         .set(&payload)
[INFO] [stdout] 255 | |         .returning(Product::as_returning())
[INFO] [stdout] 256 | |         .get_result(&mut conn)
[INFO] [stdout] 257 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:275:10
[INFO] [stdout]     |
[INFO] [stdout] 275 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 272 ~     let product = diesel_async::RunQueryDsl::get_result(products::table
[INFO] [stdout] 273 +         .find(id)
[INFO] [stdout] 274 +         .select(Product::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 272 ~     let product = diesel::RunQueryDsl::get_result(products::table
[INFO] [stdout] 273 +         .find(id)
[INFO] [stdout] 274 +         .select(Product::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:272:19
[INFO] [stdout]     |
[INFO] [stdout] 272 |       let product = products::table
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 273 | |         .find(id)
[INFO] [stdout] 274 | |         .select(Product::as_select())
[INFO] [stdout] 275 | |         .get_result(&mut conn)
[INFO] [stdout] 276 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 178 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(addresses::table.find(&id))
[INFO] [stdout] 179 +         .set(&payload)
[INFO] [stdout] 180 +         .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 178 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(addresses::table.find(&id))
[INFO] [stdout] 179 +         .set(&payload)
[INFO] [stdout] 180 +         .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |       let res = diesel::update(addresses::table.find(&id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 179 | |         .set(&payload)
[INFO] [stdout] 180 | |         .returning(Address::as_returning())
[INFO] [stdout] 181 | |         .get_result(&mut conn)
[INFO] [stdout] 182 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:209:18
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 .get_result(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 202 ~             let cur_default: i64 = diesel_async::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 203 +                 .filter(
[INFO] [stdout] 204 +                     addresses::user_id
[INFO] [stdout] 205 +                         .eq(&user_id)
[INFO] [stdout] 206 +                         .and(addresses::is_default.eq(true)),
[INFO] [stdout] 207 +                 )
[INFO] [stdout] 208 +                 .select(diesel::dsl::count_star()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 202 ~             let cur_default: i64 = diesel::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 203 +                 .filter(
[INFO] [stdout] 204 +                     addresses::user_id
[INFO] [stdout] 205 +                         .eq(&user_id)
[INFO] [stdout] 206 +                         .and(addresses::is_default.eq(true)),
[INFO] [stdout] 207 +                 )
[INFO] [stdout] 208 +                 .select(diesel::dsl::count_star()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:202:36
[INFO] [stdout]     |
[INFO] [stdout] 202 |               let cur_default: i64 = addresses::table
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 203 | |                 .filter(
[INFO] [stdout] 204 | |                     addresses::user_id
[INFO] [stdout] 205 | |                         .eq(&user_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                 .get_result(&mut conn)
[INFO] [stdout] 210 | |                 .await
[INFO] [stdout]     | |______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/product/handlers.rs:337:14
[INFO] [stdout]     |
[INFO] [stdout] 337 |             .get_result(&mut conn)
[INFO] [stdout]     |              ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 334 ~         diesel_async::RunQueryDsl::get_result(diesel::update(products::table.find(id))
[INFO] [stdout] 335 +             .set(products::image.eq(image))
[INFO] [stdout] 336 +             .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 334 ~         diesel::RunQueryDsl::get_result(diesel::update(products::table.find(id))
[INFO] [stdout] 335 +             .set(products::image.eq(image))
[INFO] [stdout] 336 +             .returning(Product::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/product/handlers.rs:334:9
[INFO] [stdout]     |
[INFO] [stdout] 334 | /         diesel::update(products::table.find(id))
[INFO] [stdout] 335 | |             .set(products::image.eq(image))
[INFO] [stdout] 336 | |             .returning(Product::as_returning())
[INFO] [stdout] 337 | |             .get_result(&mut conn)
[INFO] [stdout] 338 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:247:14
[INFO] [stdout]     |
[INFO] [stdout] 247 |             .execute(&mut conn)
[INFO] [stdout]     |              ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 238 ~         diesel_async::RunQueryDsl::execute(diesel::update(addresses::table.find(&id))
[INFO] [stdout] 239 +             .set((
[INFO] [stdout] 240 +                 addresses::address_line.eq(&geo.display_name),
[INFO] [stdout] 241 +                 addresses::city.eq(&geo.address.city),
[INFO] [stdout] 242 +                 addresses::country.eq(&geo.address.country),
[INFO] [stdout] 243 +                 addresses::postal_code.eq(&geo.address.postcode),
[INFO] [stdout] 244 +                 addresses::latitude.eq(&lat),
[INFO] [stdout] 245 +                 addresses::longitude.eq(&lon),
[INFO] [stdout] 246 +             )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 238 ~         diesel::RunQueryDsl::execute(diesel::update(addresses::table.find(&id))
[INFO] [stdout] 239 +             .set((
[INFO] [stdout] 240 +                 addresses::address_line.eq(&geo.display_name),
[INFO] [stdout] 241 +                 addresses::city.eq(&geo.address.city),
[INFO] [stdout] 242 +                 addresses::country.eq(&geo.address.country),
[INFO] [stdout] 243 +                 addresses::postal_code.eq(&geo.address.postcode),
[INFO] [stdout] 244 +                 addresses::latitude.eq(&lat),
[INFO] [stdout] 245 +                 addresses::longitude.eq(&lon),
[INFO] [stdout] 246 +             )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | /         diesel::update(addresses::table.find(&id))
[INFO] [stdout] 239 | |             .set((
[INFO] [stdout] 240 | |                 addresses::address_line.eq(&geo.display_name),
[INFO] [stdout] 241 | |                 addresses::city.eq(&geo.address.city),
[INFO] [stdout] ...   |
[INFO] [stdout] 247 | |             .execute(&mut conn)
[INFO] [stdout] 248 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:262:6
[INFO] [stdout]     |
[INFO] [stdout] 262 |     .get_result(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 257 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 258 +         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 259 +     )
[INFO] [stdout] 260 +     .set(&address_update)
[INFO] [stdout] 261 +     .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 257 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 258 +         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 259 +     )
[INFO] [stdout] 260 +     .set(&address_update)
[INFO] [stdout] 261 +     .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:257:15
[INFO] [stdout]     |
[INFO] [stdout] 257 |       let res = diesel::update(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 258 | |         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 259 | |     )
[INFO] [stdout] 260 | |     .set(&address_update)
[INFO] [stdout] 261 | |     .returning(Address::as_returning())
[INFO] [stdout] 262 | |     .get_result(&mut conn)
[INFO] [stdout] 263 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:284:6
[INFO] [stdout]     |
[INFO] [stdout] 284 |     .get_result(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 280 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(
[INFO] [stdout] 281 +         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 282 +     )
[INFO] [stdout] 283 +     .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 280 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(
[INFO] [stdout] 281 +         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 282 +     )
[INFO] [stdout] 283 +     .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |       let res = diesel::delete(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 281 | |         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 282 | |     )
[INFO] [stdout] 283 | |     .returning(Address::as_returning())
[INFO] [stdout] 284 | |     .get_result(&mut conn)
[INFO] [stdout] 285 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:305:10
[INFO] [stdout]     |
[INFO] [stdout] 305 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 301 ~     let res = diesel_async::RunQueryDsl::load(addresses::table
[INFO] [stdout] 302 +         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 303 +         .select(Address::as_select())
[INFO] [stdout] 304 +         .order_by(addresses::is_default.desc()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 301 ~     let res = diesel::RunQueryDsl::load(addresses::table
[INFO] [stdout] 302 +         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 303 +         .select(Address::as_select())
[INFO] [stdout] 304 +         .order_by(addresses::is_default.desc()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:301:15
[INFO] [stdout]     |
[INFO] [stdout] 301 |       let res = addresses::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 302 | |         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 303 | |         .select(Address::as_select())
[INFO] [stdout] 304 | |         .order_by(addresses::is_default.desc())
[INFO] [stdout] 305 | |         .load(&mut conn)
[INFO] [stdout] 306 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:329:10
[INFO] [stdout]     |
[INFO] [stdout] 329 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 322 ~     let res = diesel_async::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 323 +         .filter(
[INFO] [stdout] 324 +             addresses::user_id
[INFO] [stdout] 325 +                 .eq(&user_id)
[INFO] [stdout] 326 +                 .and(addresses::is_default.eq(true)),
[INFO] [stdout] 327 +         )
[INFO] [stdout] 328 +         .select(Address::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 322 ~     let res = diesel::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 323 +         .filter(
[INFO] [stdout] 324 +             addresses::user_id
[INFO] [stdout] 325 +                 .eq(&user_id)
[INFO] [stdout] 326 +                 .and(addresses::is_default.eq(true)),
[INFO] [stdout] 327 +         )
[INFO] [stdout] 328 +         .select(Address::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:322:15
[INFO] [stdout]     |
[INFO] [stdout] 322 |       let res = addresses::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 323 | |         .filter(
[INFO] [stdout] 324 | |             addresses::user_id
[INFO] [stdout] 325 | |                 .eq(&user_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 329 | |         .get_result(&mut conn)
[INFO] [stdout] 330 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:358:18
[INFO] [stdout]     |
[INFO] [stdout] 358 |                 .execute(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 350 ~                 let addresses = diesel_async::RunQueryDsl::execute(diesel::update(
[INFO] [stdout] 351 +                     addresses::table.filter(
[INFO] [stdout] 352 +                         addresses::user_id
[INFO] [stdout] 353 +                             .eq(&user_id)
[INFO] [stdout] 354 +                             .and(addresses::is_default.eq(true)),
[INFO] [stdout] 355 +                     ),
[INFO] [stdout] 356 +                 )
[INFO] [stdout] 357 +                 .set(addresses::is_default.eq(false)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 350 ~                 let addresses = diesel::RunQueryDsl::execute(diesel::update(
[INFO] [stdout] 351 +                     addresses::table.filter(
[INFO] [stdout] 352 +                         addresses::user_id
[INFO] [stdout] 353 +                             .eq(&user_id)
[INFO] [stdout] 354 +                             .and(addresses::is_default.eq(true)),
[INFO] [stdout] 355 +                     ),
[INFO] [stdout] 356 +                 )
[INFO] [stdout] 357 +                 .set(addresses::is_default.eq(false)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:367:18
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 .get_result(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 361 ~                 let res = diesel_async::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 362 +                     addresses::table
[INFO] [stdout] 363 +                         .filter(addresses::id.eq(&id).and(addresses::user_id.eq(&user_id))),
[INFO] [stdout] 364 +                 )
[INFO] [stdout] 365 +                 .set(addresses::is_default.eq(true))
[INFO] [stdout] 366 +                 .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 361 ~                 let res = diesel::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 362 +                     addresses::table
[INFO] [stdout] 363 +                         .filter(addresses::id.eq(&id).and(addresses::user_id.eq(&user_id))),
[INFO] [stdout] 364 +                 )
[INFO] [stdout] 365 +                 .set(addresses::is_default.eq(true))
[INFO] [stdout] 366 +                 .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/user/handlers.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 25 ~     let res = diesel_async::RunQueryDsl::get_result(profiles::table
[INFO] [stdout] 26 +         .filter(profiles::user_id.eq(&id))
[INFO] [stdout] 27 +         .select(Profile::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 25 ~     let res = diesel::RunQueryDsl::get_result(profiles::table
[INFO] [stdout] 26 +         .filter(profiles::user_id.eq(&id))
[INFO] [stdout] 27 +         .select(Profile::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/user/handlers.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 |       let res = profiles::table
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 26 | |         .filter(profiles::user_id.eq(&id))
[INFO] [stdout] 27 | |         .select(Profile::as_select())
[INFO] [stdout] 28 | |         .get_result(&mut conn)
[INFO] [stdout] 29 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/user/handlers.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 45 ~     let res = diesel_async::RunQueryDsl::get_result(profiles::table
[INFO] [stdout] 46 +         .filter(profiles::user_id.eq(&user_id))
[INFO] [stdout] 47 +         .select(Profile::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 45 ~     let res = diesel::RunQueryDsl::get_result(profiles::table
[INFO] [stdout] 46 +         .filter(profiles::user_id.eq(&user_id))
[INFO] [stdout] 47 +         .select(Profile::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/user/handlers.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |       let res = profiles::table
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 46 | |         .filter(profiles::user_id.eq(&user_id))
[INFO] [stdout] 47 | |         .select(Profile::as_select())
[INFO] [stdout] 48 | |         .get_result(&mut conn)
[INFO] [stdout] 49 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:426:10
[INFO] [stdout]     |
[INFO] [stdout] 426 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 423 ~     let res = diesel_async::RunQueryDsl::load(user_subscriptions::table
[INFO] [stdout] 424 +         .filter(user_subscriptions::user_id.eq(&user_id))
[INFO] [stdout] 425 +         .select(UserSubscription::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 423 ~     let res = diesel::RunQueryDsl::load(user_subscriptions::table
[INFO] [stdout] 424 +         .filter(user_subscriptions::user_id.eq(&user_id))
[INFO] [stdout] 425 +         .select(UserSubscription::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:423:15
[INFO] [stdout]     |
[INFO] [stdout] 423 |       let res = user_subscriptions::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 424 | |         .filter(user_subscriptions::user_id.eq(&user_id))
[INFO] [stdout] 425 | |         .select(UserSubscription::as_select())
[INFO] [stdout] 426 | |         .load(&mut conn)
[INFO] [stdout] 427 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/user/handlers.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 64 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(profiles::table.find(&id))
[INFO] [stdout] 65 +         .set(&payload)
[INFO] [stdout] 66 +         .returning(Profile::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 64 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(profiles::table.find(&id))
[INFO] [stdout] 65 +         .set(&payload)
[INFO] [stdout] 66 +         .returning(Profile::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/user/handlers.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |       let res = diesel::update(profiles::table.find(&id))
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 65 | |         .set(&payload)
[INFO] [stdout] 66 | |         .returning(Profile::as_returning())
[INFO] [stdout] 67 | |         .get_result(&mut conn)
[INFO] [stdout] 68 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/user/handlers.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 89 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 86 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(profiles::table.filter(profiles::user_id.eq(&user_id)))
[INFO] [stdout] 87 +         .set(&payload)
[INFO] [stdout] 88 +         .returning(Profile::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 86 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(profiles::table.filter(profiles::user_id.eq(&user_id)))
[INFO] [stdout] 87 +         .set(&payload)
[INFO] [stdout] 88 +         .returning(Profile::as_returning()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:454:6
[INFO] [stdout]     |
[INFO] [stdout] 454 |     .get_result(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 445 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 446 +         user_subscriptions::table.filter(
[INFO] [stdout] 447 +             user_subscriptions::channel
[INFO] [stdout] 448 +                 .eq(&channel)
[INFO] [stdout] 449 +                 .and(user_subscriptions::user_id.eq(&user_id)),
[INFO] [stdout] 450 +         ),
[INFO] [stdout] 451 +     )
[INFO] [stdout] 452 +     .set(&payload)
[INFO] [stdout] 453 +     .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 445 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 446 +         user_subscriptions::table.filter(
[INFO] [stdout] 447 +             user_subscriptions::channel
[INFO] [stdout] 448 +                 .eq(&channel)
[INFO] [stdout] 449 +                 .and(user_subscriptions::user_id.eq(&user_id)),
[INFO] [stdout] 450 +         ),
[INFO] [stdout] 451 +     )
[INFO] [stdout] 452 +     .set(&payload)
[INFO] [stdout] 453 +     .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/user/handlers.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |       let res = diesel::update(profiles::table.filter(profiles::user_id.eq(&user_id)))
[INFO] [stdout]    |  _______________^
[INFO] [stdout] 87 | |         .set(&payload)
[INFO] [stdout] 88 | |         .returning(Profile::as_returning())
[INFO] [stdout] 89 | |         .get_result(&mut conn)
[INFO] [stdout] 90 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:445:15
[INFO] [stdout]     |
[INFO] [stdout] 445 |       let res = diesel::update(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 446 | |         user_subscriptions::table.filter(
[INFO] [stdout] 447 | |             user_subscriptions::channel
[INFO] [stdout] 448 | |                 .eq(&channel)
[INFO] [stdout] ...   |
[INFO] [stdout] 454 | |     .get_result(&mut conn)
[INFO] [stdout] 455 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     let current_default: i64 = diesel_async::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 108 +         .filter(
[INFO] [stdout] 109 +             addresses::user_id
[INFO] [stdout] 110 +                 .eq(&user_id)
[INFO] [stdout] 111 +                 .and(addresses::is_default.eq(true)),
[INFO] [stdout] 112 +         )
[INFO] [stdout] 113 +         .select(diesel::dsl::count_star()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     let current_default: i64 = diesel::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 108 +         .filter(
[INFO] [stdout] 109 +             addresses::user_id
[INFO] [stdout] 110 +                 .eq(&user_id)
[INFO] [stdout] 111 +                 .and(addresses::is_default.eq(true)),
[INFO] [stdout] 112 +         )
[INFO] [stdout] 113 +         .select(diesel::dsl::count_star()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:107:32
[INFO] [stdout]     |
[INFO] [stdout] 107 |       let current_default: i64 = addresses::table
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 108 | |         .filter(
[INFO] [stdout] 109 | |             addresses::user_id
[INFO] [stdout] 110 | |                 .eq(&user_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 114 | |         .get_result(&mut conn)
[INFO] [stdout] 115 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:483:10
[INFO] [stdout]     |
[INFO] [stdout] 483 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 480 ~     let res = diesel::RunQueryDsl::get_result(diesel::insert_into(user_subscriptions::table)
[INFO] [stdout] 481 +         .values(&new_subscription)
[INFO] [stdout] 482 +         .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 480 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::insert_into(user_subscriptions::table)
[INFO] [stdout] 481 +         .values(&new_subscription)
[INFO] [stdout] 482 +         .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 |       let res = diesel::insert_into(user_subscriptions::table)
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 481 | |         .values(&new_subscription)
[INFO] [stdout] 482 | |         .returning(UserSubscription::as_returning())
[INFO] [stdout] 483 | |         .get_result(&mut conn)
[INFO] [stdout] 484 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 159 ~     let res = diesel_async::RunQueryDsl::load(addresses::table
[INFO] [stdout] 160 +         .filter(addresses::user_id.eq(&id))
[INFO] [stdout] 161 +         .select(Address::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 159 ~     let res = diesel::RunQueryDsl::load(addresses::table
[INFO] [stdout] 160 +         .filter(addresses::user_id.eq(&id))
[INFO] [stdout] 161 +         .select(Address::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:159:15
[INFO] [stdout]     |
[INFO] [stdout] 159 |       let res = addresses::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 160 | |         .filter(addresses::user_id.eq(&id))
[INFO] [stdout] 161 | |         .select(Address::as_select())
[INFO] [stdout] 162 | |         .load(&mut conn)
[INFO] [stdout] 163 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:510:6
[INFO] [stdout]     |
[INFO] [stdout] 510 |     .get_result(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 502 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(
[INFO] [stdout] 503 +         user_subscriptions::table.filter(
[INFO] [stdout] 504 +             user_subscriptions::channel
[INFO] [stdout] 505 +                 .eq(&channel)
[INFO] [stdout] 506 +                 .and(user_subscriptions::user_id.eq(&user_id)),
[INFO] [stdout] 507 +         ),
[INFO] [stdout] 508 +     )
[INFO] [stdout] 509 +     .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 502 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(
[INFO] [stdout] 503 +         user_subscriptions::table.filter(
[INFO] [stdout] 504 +             user_subscriptions::channel
[INFO] [stdout] 505 +                 .eq(&channel)
[INFO] [stdout] 506 +                 .and(user_subscriptions::user_id.eq(&user_id)),
[INFO] [stdout] 507 +         ),
[INFO] [stdout] 508 +     )
[INFO] [stdout] 509 +     .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:502:15
[INFO] [stdout]     |
[INFO] [stdout] 502 |       let res = diesel::delete(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 503 | |         user_subscriptions::table.filter(
[INFO] [stdout] 504 | |             user_subscriptions::channel
[INFO] [stdout] 505 | |                 .eq(&channel)
[INFO] [stdout] ...   |
[INFO] [stdout] 510 | |     .get_result(&mut conn)
[INFO] [stdout] 511 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 178 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(addresses::table.find(&id))
[INFO] [stdout] 179 +         .set(&payload)
[INFO] [stdout] 180 +         .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 178 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(addresses::table.find(&id))
[INFO] [stdout] 179 +         .set(&payload)
[INFO] [stdout] 180 +         .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:535:10
[INFO] [stdout]     |
[INFO] [stdout] 535 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 528 ~     let res = diesel_async::RunQueryDsl::get_result(user_subscriptions::table
[INFO] [stdout] 529 +         .filter(
[INFO] [stdout] 530 +             user_subscriptions::user_id
[INFO] [stdout] 531 +                 .eq(&user_id)
[INFO] [stdout] 532 +                 .and(user_subscriptions::channel.eq(&channel)),
[INFO] [stdout] 533 +         )
[INFO] [stdout] 534 +         .select(UserSubscription::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 528 ~     let res = diesel::RunQueryDsl::get_result(user_subscriptions::table
[INFO] [stdout] 529 +         .filter(
[INFO] [stdout] 530 +             user_subscriptions::user_id
[INFO] [stdout] 531 +                 .eq(&user_id)
[INFO] [stdout] 532 +                 .and(user_subscriptions::channel.eq(&channel)),
[INFO] [stdout] 533 +         )
[INFO] [stdout] 534 +         .select(UserSubscription::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:528:15
[INFO] [stdout]     |
[INFO] [stdout] 528 |       let res = user_subscriptions::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 529 | |         .filter(
[INFO] [stdout] 530 | |             user_subscriptions::user_id
[INFO] [stdout] 531 | |                 .eq(&user_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 535 | |         .get_result(&mut conn)
[INFO] [stdout] 536 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |       let res = diesel::update(addresses::table.find(&id))
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 179 | |         .set(&payload)
[INFO] [stdout] 180 | |         .returning(Address::as_returning())
[INFO] [stdout] 181 | |         .get_result(&mut conn)
[INFO] [stdout] 182 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:209:18
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 .get_result(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 202 ~             let cur_default: i64 = diesel_async::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 203 +                 .filter(
[INFO] [stdout] 204 +                     addresses::user_id
[INFO] [stdout] 205 +                         .eq(&user_id)
[INFO] [stdout] 206 +                         .and(addresses::is_default.eq(true)),
[INFO] [stdout] 207 +                 )
[INFO] [stdout] 208 +                 .select(diesel::dsl::count_star()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 202 ~             let cur_default: i64 = diesel::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 203 +                 .filter(
[INFO] [stdout] 204 +                     addresses::user_id
[INFO] [stdout] 205 +                         .eq(&user_id)
[INFO] [stdout] 206 +                         .and(addresses::is_default.eq(true)),
[INFO] [stdout] 207 +                 )
[INFO] [stdout] 208 +                 .select(diesel::dsl::count_star()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:202:36
[INFO] [stdout]     |
[INFO] [stdout] 202 |               let cur_default: i64 = addresses::table
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 203 | |                 .filter(
[INFO] [stdout] 204 | |                     addresses::user_id
[INFO] [stdout] 205 | |                         .eq(&user_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                 .get_result(&mut conn)
[INFO] [stdout] 210 | |                 .await
[INFO] [stdout]     | |______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:247:14
[INFO] [stdout]     |
[INFO] [stdout] 247 |             .execute(&mut conn)
[INFO] [stdout]     |              ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 238 ~         diesel_async::RunQueryDsl::execute(diesel::update(addresses::table.find(&id))
[INFO] [stdout] 239 +             .set((
[INFO] [stdout] 240 +                 addresses::address_line.eq(&geo.display_name),
[INFO] [stdout] 241 +                 addresses::city.eq(&geo.address.city),
[INFO] [stdout] 242 +                 addresses::country.eq(&geo.address.country),
[INFO] [stdout] 243 +                 addresses::postal_code.eq(&geo.address.postcode),
[INFO] [stdout] 244 +                 addresses::latitude.eq(&lat),
[INFO] [stdout] 245 +                 addresses::longitude.eq(&lon),
[INFO] [stdout] 246 +             )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 238 ~         diesel::RunQueryDsl::execute(diesel::update(addresses::table.find(&id))
[INFO] [stdout] 239 +             .set((
[INFO] [stdout] 240 +                 addresses::address_line.eq(&geo.display_name),
[INFO] [stdout] 241 +                 addresses::city.eq(&geo.address.city),
[INFO] [stdout] 242 +                 addresses::country.eq(&geo.address.country),
[INFO] [stdout] 243 +                 addresses::postal_code.eq(&geo.address.postcode),
[INFO] [stdout] 244 +                 addresses::latitude.eq(&lat),
[INFO] [stdout] 245 +                 addresses::longitude.eq(&lon),
[INFO] [stdout] 246 +             )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | /         diesel::update(addresses::table.find(&id))
[INFO] [stdout] 239 | |             .set((
[INFO] [stdout] 240 | |                 addresses::address_line.eq(&geo.display_name),
[INFO] [stdout] 241 | |                 addresses::city.eq(&geo.address.city),
[INFO] [stdout] ...   |
[INFO] [stdout] 247 | |             .execute(&mut conn)
[INFO] [stdout] 248 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:262:6
[INFO] [stdout]     |
[INFO] [stdout] 262 |     .get_result(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 257 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 258 +         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 259 +     )
[INFO] [stdout] 260 +     .set(&address_update)
[INFO] [stdout] 261 +     .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 257 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 258 +         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 259 +     )
[INFO] [stdout] 260 +     .set(&address_update)
[INFO] [stdout] 261 +     .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:257:15
[INFO] [stdout]     |
[INFO] [stdout] 257 |       let res = diesel::update(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 258 | |         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 259 | |     )
[INFO] [stdout] 260 | |     .set(&address_update)
[INFO] [stdout] 261 | |     .returning(Address::as_returning())
[INFO] [stdout] 262 | |     .get_result(&mut conn)
[INFO] [stdout] 263 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:284:6
[INFO] [stdout]     |
[INFO] [stdout] 284 |     .get_result(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 280 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(
[INFO] [stdout] 281 +         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 282 +     )
[INFO] [stdout] 283 +     .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 280 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(
[INFO] [stdout] 281 +         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 282 +     )
[INFO] [stdout] 283 +     .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |       let res = diesel::delete(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 281 | |         addresses::table.filter(addresses::user_id.eq(&user_id).and(addresses::id.eq(&id))),
[INFO] [stdout] 282 | |     )
[INFO] [stdout] 283 | |     .returning(Address::as_returning())
[INFO] [stdout] 284 | |     .get_result(&mut conn)
[INFO] [stdout] 285 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:305:10
[INFO] [stdout]     |
[INFO] [stdout] 305 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 301 ~     let res = diesel_async::RunQueryDsl::load(addresses::table
[INFO] [stdout] 302 +         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 303 +         .select(Address::as_select())
[INFO] [stdout] 304 +         .order_by(addresses::is_default.desc()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 301 ~     let res = diesel::RunQueryDsl::load(addresses::table
[INFO] [stdout] 302 +         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 303 +         .select(Address::as_select())
[INFO] [stdout] 304 +         .order_by(addresses::is_default.desc()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:301:15
[INFO] [stdout]     |
[INFO] [stdout] 301 |       let res = addresses::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 302 | |         .filter(addresses::user_id.eq(&user_id))
[INFO] [stdout] 303 | |         .select(Address::as_select())
[INFO] [stdout] 304 | |         .order_by(addresses::is_default.desc())
[INFO] [stdout] 305 | |         .load(&mut conn)
[INFO] [stdout] 306 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:329:10
[INFO] [stdout]     |
[INFO] [stdout] 329 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 322 ~     let res = diesel_async::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 323 +         .filter(
[INFO] [stdout] 324 +             addresses::user_id
[INFO] [stdout] 325 +                 .eq(&user_id)
[INFO] [stdout] 326 +                 .and(addresses::is_default.eq(true)),
[INFO] [stdout] 327 +         )
[INFO] [stdout] 328 +         .select(Address::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 322 ~     let res = diesel::RunQueryDsl::get_result(addresses::table
[INFO] [stdout] 323 +         .filter(
[INFO] [stdout] 324 +             addresses::user_id
[INFO] [stdout] 325 +                 .eq(&user_id)
[INFO] [stdout] 326 +                 .and(addresses::is_default.eq(true)),
[INFO] [stdout] 327 +         )
[INFO] [stdout] 328 +         .select(Address::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:322:15
[INFO] [stdout]     |
[INFO] [stdout] 322 |       let res = addresses::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 323 | |         .filter(
[INFO] [stdout] 324 | |             addresses::user_id
[INFO] [stdout] 325 | |                 .eq(&user_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 329 | |         .get_result(&mut conn)
[INFO] [stdout] 330 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:358:18
[INFO] [stdout]     |
[INFO] [stdout] 358 |                 .execute(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 350 ~                 let addresses = diesel_async::RunQueryDsl::execute(diesel::update(
[INFO] [stdout] 351 +                     addresses::table.filter(
[INFO] [stdout] 352 +                         addresses::user_id
[INFO] [stdout] 353 +                             .eq(&user_id)
[INFO] [stdout] 354 +                             .and(addresses::is_default.eq(true)),
[INFO] [stdout] 355 +                     ),
[INFO] [stdout] 356 +                 )
[INFO] [stdout] 357 +                 .set(addresses::is_default.eq(false)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 350 ~                 let addresses = diesel::RunQueryDsl::execute(diesel::update(
[INFO] [stdout] 351 +                     addresses::table.filter(
[INFO] [stdout] 352 +                         addresses::user_id
[INFO] [stdout] 353 +                             .eq(&user_id)
[INFO] [stdout] 354 +                             .and(addresses::is_default.eq(true)),
[INFO] [stdout] 355 +                     ),
[INFO] [stdout] 356 +                 )
[INFO] [stdout] 357 +                 .set(addresses::is_default.eq(false)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:367:18
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 .get_result(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 361 ~                 let res = diesel_async::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 362 +                     addresses::table
[INFO] [stdout] 363 +                         .filter(addresses::id.eq(&id).and(addresses::user_id.eq(&user_id))),
[INFO] [stdout] 364 +                 )
[INFO] [stdout] 365 +                 .set(addresses::is_default.eq(true))
[INFO] [stdout] 366 +                 .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 361 ~                 let res = diesel::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 362 +                     addresses::table
[INFO] [stdout] 363 +                         .filter(addresses::id.eq(&id).and(addresses::user_id.eq(&user_id))),
[INFO] [stdout] 364 +                 )
[INFO] [stdout] 365 +                 .set(addresses::is_default.eq(true))
[INFO] [stdout] 366 +                 .returning(Address::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:426:10
[INFO] [stdout]     |
[INFO] [stdout] 426 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 423 ~     let res = diesel_async::RunQueryDsl::load(user_subscriptions::table
[INFO] [stdout] 424 +         .filter(user_subscriptions::user_id.eq(&user_id))
[INFO] [stdout] 425 +         .select(UserSubscription::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 423 ~     let res = diesel::RunQueryDsl::load(user_subscriptions::table
[INFO] [stdout] 424 +         .filter(user_subscriptions::user_id.eq(&user_id))
[INFO] [stdout] 425 +         .select(UserSubscription::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:423:15
[INFO] [stdout]     |
[INFO] [stdout] 423 |       let res = user_subscriptions::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 424 | |         .filter(user_subscriptions::user_id.eq(&user_id))
[INFO] [stdout] 425 | |         .select(UserSubscription::as_select())
[INFO] [stdout] 426 | |         .load(&mut conn)
[INFO] [stdout] 427 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:454:6
[INFO] [stdout]     |
[INFO] [stdout] 454 |     .get_result(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 445 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 446 +         user_subscriptions::table.filter(
[INFO] [stdout] 447 +             user_subscriptions::channel
[INFO] [stdout] 448 +                 .eq(&channel)
[INFO] [stdout] 449 +                 .and(user_subscriptions::user_id.eq(&user_id)),
[INFO] [stdout] 450 +         ),
[INFO] [stdout] 451 +     )
[INFO] [stdout] 452 +     .set(&payload)
[INFO] [stdout] 453 +     .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 445 ~     let res = diesel::RunQueryDsl::get_result(diesel::update(
[INFO] [stdout] 446 +         user_subscriptions::table.filter(
[INFO] [stdout] 447 +             user_subscriptions::channel
[INFO] [stdout] 448 +                 .eq(&channel)
[INFO] [stdout] 449 +                 .and(user_subscriptions::user_id.eq(&user_id)),
[INFO] [stdout] 450 +         ),
[INFO] [stdout] 451 +     )
[INFO] [stdout] 452 +     .set(&payload)
[INFO] [stdout] 453 +     .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:445:15
[INFO] [stdout]     |
[INFO] [stdout] 445 |       let res = diesel::update(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 446 | |         user_subscriptions::table.filter(
[INFO] [stdout] 447 | |             user_subscriptions::channel
[INFO] [stdout] 448 | |                 .eq(&channel)
[INFO] [stdout] ...   |
[INFO] [stdout] 454 | |     .get_result(&mut conn)
[INFO] [stdout] 455 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:483:10
[INFO] [stdout]     |
[INFO] [stdout] 483 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 480 ~     let res = diesel::RunQueryDsl::get_result(diesel::insert_into(user_subscriptions::table)
[INFO] [stdout] 481 +         .values(&new_subscription)
[INFO] [stdout] 482 +         .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 480 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::insert_into(user_subscriptions::table)
[INFO] [stdout] 481 +         .values(&new_subscription)
[INFO] [stdout] 482 +         .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 |       let res = diesel::insert_into(user_subscriptions::table)
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 481 | |         .values(&new_subscription)
[INFO] [stdout] 482 | |         .returning(UserSubscription::as_returning())
[INFO] [stdout] 483 | |         .get_result(&mut conn)
[INFO] [stdout] 484 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:510:6
[INFO] [stdout]     |
[INFO] [stdout] 510 |     .get_result(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 502 ~     let res = diesel::RunQueryDsl::get_result(diesel::delete(
[INFO] [stdout] 503 +         user_subscriptions::table.filter(
[INFO] [stdout] 504 +             user_subscriptions::channel
[INFO] [stdout] 505 +                 .eq(&channel)
[INFO] [stdout] 506 +                 .and(user_subscriptions::user_id.eq(&user_id)),
[INFO] [stdout] 507 +         ),
[INFO] [stdout] 508 +     )
[INFO] [stdout] 509 +     .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 502 ~     let res = diesel_async::RunQueryDsl::get_result(diesel::delete(
[INFO] [stdout] 503 +         user_subscriptions::table.filter(
[INFO] [stdout] 504 +             user_subscriptions::channel
[INFO] [stdout] 505 +                 .eq(&channel)
[INFO] [stdout] 506 +                 .and(user_subscriptions::user_id.eq(&user_id)),
[INFO] [stdout] 507 +         ),
[INFO] [stdout] 508 +     )
[INFO] [stdout] 509 +     .returning(UserSubscription::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:502:15
[INFO] [stdout]     |
[INFO] [stdout] 502 |       let res = diesel::delete(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 503 | |         user_subscriptions::table.filter(
[INFO] [stdout] 504 | |             user_subscriptions::channel
[INFO] [stdout] 505 | |                 .eq(&channel)
[INFO] [stdout] ...   |
[INFO] [stdout] 510 | |     .get_result(&mut conn)
[INFO] [stdout] 511 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/user/handlers.rs:535:10
[INFO] [stdout]     |
[INFO] [stdout] 535 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 528 ~     let res = diesel_async::RunQueryDsl::get_result(user_subscriptions::table
[INFO] [stdout] 529 +         .filter(
[INFO] [stdout] 530 +             user_subscriptions::user_id
[INFO] [stdout] 531 +                 .eq(&user_id)
[INFO] [stdout] 532 +                 .and(user_subscriptions::channel.eq(&channel)),
[INFO] [stdout] 533 +         )
[INFO] [stdout] 534 +         .select(UserSubscription::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 528 ~     let res = diesel::RunQueryDsl::get_result(user_subscriptions::table
[INFO] [stdout] 529 +         .filter(
[INFO] [stdout] 530 +             user_subscriptions::user_id
[INFO] [stdout] 531 +                 .eq(&user_id)
[INFO] [stdout] 532 +                 .and(user_subscriptions::channel.eq(&channel)),
[INFO] [stdout] 533 +         )
[INFO] [stdout] 534 +         .select(UserSubscription::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/user/handlers.rs:528:15
[INFO] [stdout]     |
[INFO] [stdout] 528 |       let res = user_subscriptions::table
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 529 | |         .filter(
[INFO] [stdout] 530 | |             user_subscriptions::user_id
[INFO] [stdout] 531 | |                 .eq(&user_id)
[INFO] [stdout] ...   |
[INFO] [stdout] 535 | |         .get_result(&mut conn)
[INFO] [stdout] 536 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `axum-shop` (bin "axum-shop" test) due to 124 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0034, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `axum-shop` (bin "axum-shop") due to 124 previous errors
[INFO] running `Command { std: "docker" "inspect" "001d1f0aac53134e4c4ff4d0c1040884d3eacbb282faf6f08f37e8ae50166302", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "001d1f0aac53134e4c4ff4d0c1040884d3eacbb282faf6f08f37e8ae50166302", kill_on_drop: false }`
[INFO] [stdout] 001d1f0aac53134e4c4ff4d0c1040884d3eacbb282faf6f08f37e8ae50166302
