[INFO] cloning repository https://github.com/Testaustime/testaustime-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Testaustime/testaustime-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTestaustime%2Ftestaustime-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTestaustime%2Ftestaustime-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 56fc194b581c765f90ef0b2c81611bdb570f46fa
[INFO] checking Testaustime/testaustime-backend against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTestaustime%2Ftestaustime-backend" "/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/Testaustime/testaustime-backend
[INFO] finished tweaking git repo https://github.com/Testaustime/testaustime-backend
[INFO] tweaked toml for git repo https://github.com/Testaustime/testaustime-backend written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Testaustime/testaustime-backend 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/Testaustime/testaustime-backend 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] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking Testaustime/testaustime-backend against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTestaustime%2Ftestaustime-backend" "/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/Testaustime/testaustime-backend
[INFO] finished tweaking git repo https://github.com/Testaustime/testaustime-backend
[INFO] tweaked toml for git repo https://github.com/Testaustime/testaustime-backend written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Testaustime/testaustime-backend 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/Testaustime/testaustime-backend 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] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking Testaustime/testaustime-backend against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTestaustime%2Ftestaustime-backend" "/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/Testaustime/testaustime-backend
[INFO] finished tweaking git repo https://github.com/Testaustime/testaustime-backend
[INFO] tweaked toml for git repo https://github.com/Testaustime/testaustime-backend written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Testaustime/testaustime-backend 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/Testaustime/testaustime-backend 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded diesel_derives v2.1.4
[INFO] [stderr]   Downloaded diesel_table_macro_syntax v0.1.0
[INFO] [stderr]   Downloaded tracing-actix-web v0.6.2
[INFO] [stderr]   Downloaded actix-tls v3.4.0
[INFO] [stderr]   Downloaded diesel-async v0.4.1
[INFO] [stderr]   Downloaded awc v3.5.0
[INFO] [stderr]   Downloaded raw-cpuid v11.0.2
[INFO] [stderr]   Downloaded regex-lite v0.1.5
[INFO] [stderr]   Downloaded actix-http v3.7.0
[INFO] [stderr]   Downloaded actix-web v4.6.0
[INFO] [stderr]   Downloaded diesel v2.1.6
[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] af78b08e720ab1d2c54ced288e6965b5533c51eb56be0f42f1e8b02e8a52dfe0
[INFO] running `Command { std: "docker" "start" "-a" "af78b08e720ab1d2c54ced288e6965b5533c51eb56be0f42f1e8b02e8a52dfe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "af78b08e720ab1d2c54ced288e6965b5533c51eb56be0f42f1e8b02e8a52dfe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af78b08e720ab1d2c54ced288e6965b5533c51eb56be0f42f1e8b02e8a52dfe0", kill_on_drop: false }`
[INFO] [stdout] af78b08e720ab1d2c54ced288e6965b5533c51eb56be0f42f1e8b02e8a52dfe0
[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] 1740e6bab1666a580b781b77e906aeea5173f977df1df2e31e79552eff0fa5da
[INFO] running `Command { std: "docker" "start" "-a" "1740e6bab1666a580b781b77e906aeea5173f977df1df2e31e79552eff0fa5da", kill_on_drop: false }`
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling zstd-sys v2.0.10+zstd.1.5.6
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling zstd-safe v7.1.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]     Checking bytestring v1.3.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking impl-more v0.1.6
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]    Compiling regex-lite v0.1.5
[INFO] [stderr]     Checking unicode-properties v0.1.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking phf_shared v0.11.2
[INFO] [stderr]    Compiling portable-atomic v1.6.0
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking raw-cpuid v11.0.2
[INFO] [stderr]     Checking postgres-protocol v0.6.6
[INFO] [stderr]     Checking retain_mut v0.1.9
[INFO] [stderr]     Checking whoami v1.5.1
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking postgres-types v0.2.6
[INFO] [stderr]     Checking password-hash v0.4.2
[INFO] [stderr]     Checking spinning_top v0.3.0
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]     Checking scoped-futures v0.1.3
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking no-std-compat v0.4.1
[INFO] [stderr]     Checking either v1.12.0
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking nonzero_ext v0.3.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking argon2 v0.4.1
[INFO] [stderr]     Checking quanta v0.12.3
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.1.0
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking actix-rt v2.9.0
[INFO] [stderr]    Compiling diesel_derives v2.1.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking webpki-roots v0.22.6
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking deadpool v0.9.5
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]    Compiling actix-web-codegen v4.2.2
[INFO] [stderr]     Checking thiserror v1.0.61
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking zstd v0.13.1
[INFO] [stderr]     Checking tokio-rustls v0.23.4
[INFO] [stderr]     Checking serde v1.0.203
[INFO] [stderr]     Checking actix-tls v3.4.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking actix-server v2.3.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking tokio-postgres v0.7.10
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking governor v0.6.3
[INFO] [stderr]     Checking serde_json v1.0.117
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking diesel v2.1.6
[INFO] [stderr]     Checking actix-http v3.7.0
[INFO] [stderr]     Checking actix-web v4.6.0
[INFO] [stderr]     Checking awc v3.5.0
[INFO] [stderr]     Checking tracing-actix-web v0.6.2
[INFO] [stderr]     Checking actix-cors v0.6.5
[INFO] [stderr]     Checking diesel-async v0.4.1
[INFO] [stderr]     Checking testaustime-rs v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/activity.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .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] 34 ~         diesel::RunQueryDsl::execute(diesel::insert_into(coding_activities)
[INFO] [stdout] 35 +             .values(activity), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 34 ~         diesel_async::RunQueryDsl::execute(diesel::insert_into(coding_activities)
[INFO] [stdout] 35 +             .values(activity), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/activity.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |             .load::<CodingActivity>(&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] 47 ~         Ok(diesel_async::RunQueryDsl::load(coding_activities
[INFO] [stdout] 48 +             .filter(user_id.eq(user)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 47 ~         Ok(diesel::RunQueryDsl::load(coding_activities
[INFO] [stdout] 48 +             .filter(user_id.eq(user)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/activity.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut activities = query.load::<CodingActivity>(&mut conn).await?;
[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<'a, 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] 84 -         let mut activities = query.load::<CodingActivity>(&mut conn).await?;
[INFO] [stdout] 84 +         let mut activities = diesel::RunQueryDsl::load(query, &mut conn).await?;
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 84 -         let mut activities = query.load::<CodingActivity>(&mut conn).await?;
[INFO] [stdout] 84 +         let mut activities = diesel_async::RunQueryDsl::load(query, &mut conn).await?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/activity.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .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] 34 ~         diesel::RunQueryDsl::execute(diesel::insert_into(coding_activities)
[INFO] [stdout] 35 +             .values(activity), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 34 ~         diesel_async::RunQueryDsl::execute(diesel::insert_into(coding_activities)
[INFO] [stdout] 35 +             .values(activity), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/activity.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |             .first::<Option<i64>>(&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] 107 ~         Ok(diesel_async::RunQueryDsl::first(coding_activities
[INFO] [stdout] 108 +             .filter(user_id.eq(uid).and(start_time.ge(since.naive_local())))
[INFO] [stdout] 109 +             .select(diesel::dsl::sum(duration)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 107 ~         Ok(diesel::RunQueryDsl::first(coding_activities
[INFO] [stdout] 108 +             .filter(user_id.eq(uid).and(start_time.ge(since.naive_local())))
[INFO] [stdout] 109 +             .select(diesel::dsl::sum(duration)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/activity.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |             .load::<CodingActivity>(&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] 47 ~         Ok(diesel_async::RunQueryDsl::load(coding_activities
[INFO] [stdout] 48 +             .filter(user_id.eq(user)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 47 ~         Ok(diesel::RunQueryDsl::load(coding_activities
[INFO] [stdout] 48 +             .filter(user_id.eq(user)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/activity.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 |           Ok(coding_activities
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 108 | |             .filter(user_id.eq(uid).and(start_time.ge(since.naive_local())))
[INFO] [stdout] 109 | |             .select(diesel::dsl::sum(duration))
[INFO] [stdout] 110 | |             .first::<Option<i64>>(&mut conn)
[INFO] [stdout] 111 | |             .await?
[INFO] [stdout]     | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/activity.rs:145:14
[INFO] [stdout]     |
[INFO] [stdout] 145 |             .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] 141 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::update(coding_activities)
[INFO] [stdout] 142 +             .filter(user_id.eq(target_user_id))
[INFO] [stdout] 143 +             .filter(project_name.eq(from))
[INFO] [stdout] 144 +             .set(project_name.eq(to)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 141 ~         Ok(diesel::RunQueryDsl::execute(diesel::update(coding_activities)
[INFO] [stdout] 142 +             .filter(user_id.eq(target_user_id))
[INFO] [stdout] 143 +             .filter(project_name.eq(from))
[INFO] [stdout] 144 +             .set(project_name.eq(to)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/activity.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut activities = query.load::<CodingActivity>(&mut conn).await?;
[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<'a, 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] 84 -         let mut activities = query.load::<CodingActivity>(&mut conn).await?;
[INFO] [stdout] 84 +         let mut activities = diesel::RunQueryDsl::load(query, &mut conn).await?;
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 84 -         let mut activities = query.load::<CodingActivity>(&mut conn).await?;
[INFO] [stdout] 84 +         let mut activities = diesel_async::RunQueryDsl::load(query, &mut conn).await?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/activity.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 |             .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] 158 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::update(coding_activities)
[INFO] [stdout] 159 +             .filter(user_id.eq(target_user_id))
[INFO] [stdout] 160 +             .filter(project_name.eq(target_project))
[INFO] [stdout] 161 +             .set(hidden.eq(to)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 158 ~         Ok(diesel::RunQueryDsl::execute(diesel::update(coding_activities)
[INFO] [stdout] 159 +             .filter(user_id.eq(target_user_id))
[INFO] [stdout] 160 +             .filter(project_name.eq(target_project))
[INFO] [stdout] 161 +             .set(hidden.eq(to)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/activity.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |             .first::<Option<i64>>(&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] 107 ~         Ok(diesel_async::RunQueryDsl::first(coding_activities
[INFO] [stdout] 108 +             .filter(user_id.eq(uid).and(start_time.ge(since.naive_local())))
[INFO] [stdout] 109 +             .select(diesel::dsl::sum(duration)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 107 ~         Ok(diesel::RunQueryDsl::first(coding_activities
[INFO] [stdout] 108 +             .filter(user_id.eq(uid).and(start_time.ge(since.naive_local())))
[INFO] [stdout] 109 +             .select(diesel::dsl::sum(duration)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/activity.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 |             .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] 171 ~         Ok(diesel::RunQueryDsl::execute(diesel::delete(coding_activities.find(activity))
[INFO] [stdout] 172 +             // FIXME: This filter is useless?
[INFO] [stdout] 173 +             .filter(user_id.eq(userid)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 171 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(coding_activities.find(activity))
[INFO] [stdout] 172 +             // FIXME: This filter is useless?
[INFO] [stdout] 173 +             .filter(user_id.eq(userid)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/activity.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 |           Ok(coding_activities
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 108 | |             .filter(user_id.eq(uid).and(start_time.ge(since.naive_local())))
[INFO] [stdout] 109 | |             .select(diesel::dsl::sum(duration))
[INFO] [stdout] 110 | |             .first::<Option<i64>>(&mut conn)
[INFO] [stdout] 111 | |             .await?
[INFO] [stdout]     | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |             .first::<UserIdentity>(&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] 20 ~         Ok(diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 21 +             .filter(username.eq(target_username)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 20 ~         Ok(diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 21 +             .filter(username.eq(target_username)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/auth.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |           Ok(user_identities
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 21 | |             .filter(username.eq(target_username))
[INFO] [stdout] 22 | |             .first::<UserIdentity>(&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/database/auth.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |             .first::<UserIdentity>(&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] 33 ~         Ok(diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 34 +             .filter(lower(username).eq(target_username.to_lowercase())), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 33 ~         Ok(diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 34 +             .filter(lower(username).eq(target_username.to_lowercase())), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |             .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] 43 -         Ok(diesel::delete(user_identities.find(userid))
[INFO] [stdout] 44 -             .execute(&mut conn)
[INFO] [stdout] 43 +         Ok(diesel::RunQueryDsl::execute(diesel::delete(user_identities.find(userid)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 43 -         Ok(diesel::delete(user_identities.find(userid))
[INFO] [stdout] 44 -             .execute(&mut conn)
[INFO] [stdout] 43 +         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(user_identities.find(userid)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/activity.rs:145:14
[INFO] [stdout]     |
[INFO] [stdout] 145 |             .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] 141 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::update(coding_activities)
[INFO] [stdout] 142 +             .filter(user_id.eq(target_user_id))
[INFO] [stdout] 143 +             .filter(project_name.eq(from))
[INFO] [stdout] 144 +             .set(project_name.eq(to)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 141 ~         Ok(diesel::RunQueryDsl::execute(diesel::update(coding_activities)
[INFO] [stdout] 142 +             .filter(user_id.eq(target_user_id))
[INFO] [stdout] 143 +             .filter(project_name.eq(from))
[INFO] [stdout] 144 +             .set(project_name.eq(to)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |             .first::<UserIdentity>(&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] 53 ~         Ok(diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 54 +             .find(userid), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 53 ~         Ok(diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 54 +             .find(userid), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/activity.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 |             .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] 158 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::update(coding_activities)
[INFO] [stdout] 159 +             .filter(user_id.eq(target_user_id))
[INFO] [stdout] 160 +             .filter(project_name.eq(target_project))
[INFO] [stdout] 161 +             .set(hidden.eq(to)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 158 ~         Ok(diesel::RunQueryDsl::execute(diesel::update(coding_activities)
[INFO] [stdout] 159 +             .filter(user_id.eq(target_user_id))
[INFO] [stdout] 160 +             .filter(project_name.eq(target_project))
[INFO] [stdout] 161 +             .set(hidden.eq(to)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/activity.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 |             .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] 171 ~         Ok(diesel::RunQueryDsl::execute(diesel::delete(coding_activities.find(activity))
[INFO] [stdout] 172 +             // FIXME: This filter is useless?
[INFO] [stdout] 173 +             .filter(user_id.eq(userid)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 171 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(coding_activities.find(activity))
[INFO] [stdout] 172 +             // FIXME: This filter is useless?
[INFO] [stdout] 173 +             .filter(user_id.eq(userid)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |             .first::<UserIdentity>(&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] 20 ~         Ok(diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 21 +             .filter(username.eq(target_username)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 20 ~         Ok(diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 21 +             .filter(username.eq(target_username)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/auth.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |           Ok(user_identities
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 21 | |             .filter(username.eq(target_username))
[INFO] [stdout] 22 | |             .first::<UserIdentity>(&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/database/auth.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |             .first::<UserIdentity>(&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] 33 ~         Ok(diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 34 +             .filter(lower(username).eq(target_username.to_lowercase())), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 33 ~         Ok(diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 34 +             .filter(lower(username).eq(target_username.to_lowercase())), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:72:14
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .first::<(UserIdentity, TestaustimeUser)>(&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] 69 ~         let (user, tuser) = diesel_async::RunQueryDsl::first(user_identities::table
[INFO] [stdout] 70 +             .filter(username.eq(arg_username))
[INFO] [stdout] 71 +             .inner_join(testaustime_users::table), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 69 ~         let (user, tuser) = diesel::RunQueryDsl::first(user_identities::table
[INFO] [stdout] 70 +             .filter(username.eq(arg_username))
[INFO] [stdout] 71 +             .inner_join(testaustime_users::table), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |             .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] 43 -         Ok(diesel::delete(user_identities.find(userid))
[INFO] [stdout] 44 -             .execute(&mut conn)
[INFO] [stdout] 43 +         Ok(diesel::RunQueryDsl::execute(diesel::delete(user_identities.find(userid)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 43 -         Ok(diesel::delete(user_identities.find(userid))
[INFO] [stdout] 44 -             .execute(&mut conn)
[INFO] [stdout] 43 +         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(user_identities.find(userid)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |             .first::<UserIdentity>(&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] 53 ~         Ok(diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 54 +             .find(userid), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 53 ~         Ok(diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 54 +             .find(userid), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:72:14
[INFO] [stdout]    |
[INFO] [stdout] 72 |             .first::<(UserIdentity, TestaustimeUser)>(&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] 69 ~         let (user, tuser) = diesel_async::RunQueryDsl::first(user_identities::table
[INFO] [stdout] 70 +             .filter(username.eq(arg_username))
[INFO] [stdout] 71 +             .inner_join(testaustime_users::table), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 69 ~         let (user, tuser) = diesel::RunQueryDsl::first(user_identities::table
[INFO] [stdout] 70 +             .filter(username.eq(arg_username))
[INFO] [stdout] 71 +             .inner_join(testaustime_users::table), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:97:14
[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_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] 95 ~         diesel_async::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 96 +             .set(auth_token.eq(&token)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 95 ~         diesel::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 96 +             .set(auth_token.eq(&token)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/auth.rs:97:14
[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_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] 95 ~         diesel_async::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 96 +             .set(auth_token.eq(&token)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 95 ~         diesel::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 96 +             .set(auth_token.eq(&token)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |                         .get_results::<i32>(&mut conn)
[INFO] [stdout]     |                          ^^^^^^^^^^^ multiple `get_results` 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] 132 ~                     let id = diesel::RunQueryDsl::get_results(diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout] 133 +                         .values(new_user_clone)
[INFO] [stdout] 134 +                         .returning(user_identities::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 132 ~                     let id = diesel_async::RunQueryDsl::get_results(diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout] 133 +                         .values(new_user_clone)
[INFO] [stdout] 134 +                         .returning(user_identities::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |                       let id = diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 133 | |                         .values(new_user_clone)
[INFO] [stdout] 134 | |                         .returning(user_identities::id)
[INFO] [stdout] 135 | |                         .get_results::<i32>(&mut conn)
[INFO] [stdout] 136 | |                         .await
[INFO] [stdout]     | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |                         .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] 145 ~                     diesel::RunQueryDsl::execute(diesel::insert_into(testaustime_users::table)
[INFO] [stdout] 146 +                         .values(&testaustime_user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 145 ~                     diesel_async::RunQueryDsl::execute(diesel::insert_into(testaustime_users::table)
[INFO] [stdout] 146 +                         .values(&testaustime_user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |                         .get_results::<i32>(&mut conn)
[INFO] [stdout]     |                          ^^^^^^^^^^^ multiple `get_results` 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] 132 ~                     let id = diesel::RunQueryDsl::get_results(diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout] 133 +                         .values(new_user_clone)
[INFO] [stdout] 134 +                         .returning(user_identities::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 132 ~                     let id = diesel_async::RunQueryDsl::get_results(diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout] 133 +                         .values(new_user_clone)
[INFO] [stdout] 134 +                         .returning(user_identities::id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |                       let id = diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 133 | |                         .values(new_user_clone)
[INFO] [stdout] 134 | |                         .returning(user_identities::id)
[INFO] [stdout] 135 | |                         .get_results::<i32>(&mut conn)
[INFO] [stdout] 136 | |                         .await
[INFO] [stdout]     | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |                         .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] 145 ~                     diesel::RunQueryDsl::execute(diesel::insert_into(testaustime_users::table)
[INFO] [stdout] 146 +                         .values(&testaustime_user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 145 ~                     diesel_async::RunQueryDsl::execute(diesel::insert_into(testaustime_users::table)
[INFO] [stdout] 146 +                         .values(&testaustime_user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 |                         .first::<UserIdentity>(&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] 167 ~                     if (diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 168 +                         .filter(username.eq(new_username)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 167 ~                     if (diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 168 +                         .filter(username.eq(new_username)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:167:24
[INFO] [stdout]     |
[INFO] [stdout] 167 |                       if (user_identities
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 168 | |                         .filter(username.eq(new_username))
[INFO] [stdout] 169 | |                         .first::<UserIdentity>(&mut conn)
[INFO] [stdout] 170 | |                         .await)
[INFO] [stdout]     | |_______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 |                         .first::<UserIdentity>(&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] 167 ~                     if (diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 168 +                         .filter(username.eq(new_username)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 167 ~                     if (diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 168 +                         .filter(username.eq(new_username)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:179:26
[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_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] 176 ~                     diesel_async::RunQueryDsl::execute(diesel::update(crate::schema::user_identities::table)
[INFO] [stdout] 177 +                         .filter(id.eq(user))
[INFO] [stdout] 178 +                         .set(username.eq(new_username)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 176 ~                     diesel::RunQueryDsl::execute(diesel::update(crate::schema::user_identities::table)
[INFO] [stdout] 177 +                         .filter(id.eq(user))
[INFO] [stdout] 178 +                         .set(username.eq(new_username)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:176:21
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                     diesel::update(crate::schema::user_identities::table)
[INFO] [stdout] 177 | |                         .filter(id.eq(user))
[INFO] [stdout] 178 | |                         .set(username.eq(new_username))
[INFO] [stdout] 179 | |                         .execute(&mut conn)
[INFO] [stdout] 180 | |                         .await
[INFO] [stdout]     | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:167:24
[INFO] [stdout]     |
[INFO] [stdout] 167 |                       if (user_identities
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 168 | |                         .filter(username.eq(new_username))
[INFO] [stdout] 169 | |                         .first::<UserIdentity>(&mut conn)
[INFO] [stdout] 170 | |                         .await)
[INFO] [stdout]     | |_______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:179:26
[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_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] 176 ~                     diesel_async::RunQueryDsl::execute(diesel::update(crate::schema::user_identities::table)
[INFO] [stdout] 177 +                         .filter(id.eq(user))
[INFO] [stdout] 178 +                         .set(username.eq(new_username)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 176 ~                     diesel::RunQueryDsl::execute(diesel::update(crate::schema::user_identities::table)
[INFO] [stdout] 177 +                         .filter(id.eq(user))
[INFO] [stdout] 178 +                         .set(username.eq(new_username)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:176:21
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                     diesel::update(crate::schema::user_identities::table)
[INFO] [stdout] 177 | |                         .filter(id.eq(user))
[INFO] [stdout] 178 | |                         .set(username.eq(new_username))
[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/database/auth.rs:206:14
[INFO] [stdout]     |
[INFO] [stdout] 206 |             .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] 200 ~         diesel_async::RunQueryDsl::execute(diesel::update(crate::schema::testaustime_users::table)
[INFO] [stdout] 201 +             .filter(identity.eq(user))
[INFO] [stdout] 202 +             .set((
[INFO] [stdout] 203 +                 password.eq(&new_hash.as_bytes()),
[INFO] [stdout] 204 +                 salt.eq(new_salt.as_bytes()),
[INFO] [stdout] 205 +             )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 200 ~         diesel::RunQueryDsl::execute(diesel::update(crate::schema::testaustime_users::table)
[INFO] [stdout] 201 +             .filter(identity.eq(user))
[INFO] [stdout] 202 +             .set((
[INFO] [stdout] 203 +                 password.eq(&new_hash.as_bytes()),
[INFO] [stdout] 204 +                 salt.eq(new_salt.as_bytes()),
[INFO] [stdout] 205 +             )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:206:14
[INFO] [stdout]     |
[INFO] [stdout] 206 |             .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] 200 ~         diesel_async::RunQueryDsl::execute(diesel::update(crate::schema::testaustime_users::table)
[INFO] [stdout] 201 +             .filter(identity.eq(user))
[INFO] [stdout] 202 +             .set((
[INFO] [stdout] 203 +                 password.eq(&new_hash.as_bytes()),
[INFO] [stdout] 204 +                 salt.eq(new_salt.as_bytes()),
[INFO] [stdout] 205 +             )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 200 ~         diesel::RunQueryDsl::execute(diesel::update(crate::schema::testaustime_users::table)
[INFO] [stdout] 201 +             .filter(identity.eq(user))
[INFO] [stdout] 202 +             .set((
[INFO] [stdout] 203 +                 password.eq(&new_hash.as_bytes()),
[INFO] [stdout] 204 +                 salt.eq(new_salt.as_bytes()),
[INFO] [stdout] 205 +             )), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 .first::<UserIdentity>(&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] 217 ~             diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 218 +                 .filter(auth_token.eq(token)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 217 ~             diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 218 +                 .filter(auth_token.eq(token)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:232:14
[INFO] [stdout]     |
[INFO] [stdout] 232 |             .first::<TestaustimeUser>(&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] 230 ~         Ok(diesel_async::RunQueryDsl::first(testaustime_users
[INFO] [stdout] 231 +             .filter(identity.eq(uid)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 230 ~         Ok(diesel::RunQueryDsl::first(testaustime_users
[INFO] [stdout] 231 +             .filter(identity.eq(uid)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 .first::<UserIdentity>(&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] 217 ~             diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 218 +                 .filter(auth_token.eq(token)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 217 ~             diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 218 +                 .filter(auth_token.eq(token)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |             .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] 251 ~         let user_identity_opt = diesel_async::RunQueryDsl::first(testausid_users
[INFO] [stdout] 252 +             .filter(user_id.eq(&user_id_arg))
[INFO] [stdout] 253 +             .select(identity), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 251 ~         let user_identity_opt = diesel::RunQueryDsl::first(testausid_users
[INFO] [stdout] 252 +             .filter(user_id.eq(&user_id_arg))
[INFO] [stdout] 253 +             .select(identity), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:251:33
[INFO] [stdout]     |
[INFO] [stdout] 251 |           let user_identity_opt = testausid_users
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 252 | |             .filter(user_id.eq(&user_id_arg))
[INFO] [stdout] 253 | |             .select(identity)
[INFO] [stdout] 254 | |             .first::<i32>(&mut conn)
[INFO] [stdout] 255 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:232:14
[INFO] [stdout]     |
[INFO] [stdout] 232 |             .first::<TestaustimeUser>(&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] 230 ~         Ok(diesel_async::RunQueryDsl::first(testaustime_users
[INFO] [stdout] 231 +             .filter(identity.eq(uid)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 230 ~         Ok(diesel::RunQueryDsl::first(testaustime_users
[INFO] [stdout] 231 +             .filter(identity.eq(uid)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:262:18
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 .first::<String>(&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] 259 ~             let token = diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 260 +                 .find(user_identity)
[INFO] [stdout] 261 +                 .select(auth_token), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 259 ~             let token = diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 260 +                 .find(user_identity)
[INFO] [stdout] 261 +                 .select(auth_token), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |             .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] 251 ~         let user_identity_opt = diesel_async::RunQueryDsl::first(testausid_users
[INFO] [stdout] 252 +             .filter(user_id.eq(&user_id_arg))
[INFO] [stdout] 253 +             .select(identity), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 251 ~         let user_identity_opt = diesel::RunQueryDsl::first(testausid_users
[INFO] [stdout] 252 +             .filter(user_id.eq(&user_id_arg))
[INFO] [stdout] 253 +             .select(identity), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 .get_results::<i32>(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^^ multiple `get_results` 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] 273 ~             let new_user_id = diesel::RunQueryDsl::get_results(diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout] 274 +                 .values(&new_user)
[INFO] [stdout] 275 +                 .returning(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 273 ~             let new_user_id = diesel_async::RunQueryDsl::get_results(diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout] 274 +                 .values(&new_user)
[INFO] [stdout] 275 +                 .returning(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:273:31
[INFO] [stdout]     |
[INFO] [stdout] 273 |               let new_user_id = diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 274 | |                 .values(&new_user)
[INFO] [stdout] 275 | |                 .returning(id)
[INFO] [stdout] 276 | |                 .get_results::<i32>(&mut conn)
[INFO] [stdout] 277 | |                 .await
[INFO] [stdout]     | |______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:251:33
[INFO] [stdout]     |
[INFO] [stdout] 251 |           let user_identity_opt = testausid_users
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 252 | |             .filter(user_id.eq(&user_id_arg))
[INFO] [stdout] 253 | |             .select(identity)
[INFO] [stdout] 254 | |             .first::<i32>(&mut conn)
[INFO] [stdout] 255 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:288:18
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 .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] 286 ~             diesel::RunQueryDsl::execute(diesel::insert_into(testausid_users)
[INFO] [stdout] 287 +                 .values(&testausid_user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 286 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(testausid_users)
[INFO] [stdout] 287 +                 .values(&testausid_user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:262:18
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 .first::<String>(&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] 259 ~             let token = diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 260 +                 .find(user_identity)
[INFO] [stdout] 261 +                 .select(auth_token), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 259 ~             let token = diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 260 +                 .find(user_identity)
[INFO] [stdout] 261 +                 .select(auth_token), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 .get_results::<i32>(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^^ multiple `get_results` 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] 273 ~             let new_user_id = diesel::RunQueryDsl::get_results(diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout] 274 +                 .values(&new_user)
[INFO] [stdout] 275 +                 .returning(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 273 ~             let new_user_id = diesel_async::RunQueryDsl::get_results(diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout] 274 +                 .values(&new_user)
[INFO] [stdout] 275 +                 .returning(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/auth.rs:273:31
[INFO] [stdout]     |
[INFO] [stdout] 273 |               let new_user_id = diesel::insert_into(crate::schema::user_identities::table)
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 274 | |                 .values(&new_user)
[INFO] [stdout] 275 | |                 .returning(id)
[INFO] [stdout] 276 | |                 .get_results::<i32>(&mut conn)
[INFO] [stdout] 277 | |                 .await
[INFO] [stdout]     | |______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:301:14
[INFO] [stdout]     |
[INFO] [stdout] 301 |             .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] 299 ~         diesel_async::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 300 +             .set(is_public.eq(visibility)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 299 ~         diesel::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 300 +             .set(is_public.eq(visibility)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:288:18
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 .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] 286 ~             diesel::RunQueryDsl::execute(diesel::insert_into(testausid_users)
[INFO] [stdout] 287 +                 .values(&testausid_user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 286 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(testausid_users)
[INFO] [stdout] 287 +                 .values(&testausid_user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/friends.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |             .first::<UserIdentity>(&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] 11 ~         let Some(friend) = diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 12 +             .filter(friend_code.eq(friend)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 11 ~         let Some(friend) = diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 12 +             .filter(friend_code.eq(friend)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/friends.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |           let Some(friend) = user_identities
[INFO] [stdout]    |  ____________________________^
[INFO] [stdout] 12 | |             .filter(friend_code.eq(friend))
[INFO] [stdout] 13 | |             .first::<UserIdentity>(&mut conn)
[INFO] [stdout] 14 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/friends.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |             .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] 30 ~         diesel::RunQueryDsl::execute(insert_into(crate::schema::friend_relations::table)
[INFO] [stdout] 31 +             .values(crate::models::NewFriendRelation {
[INFO] [stdout] 32 +                 lesser_id: lesser,
[INFO] [stdout] 33 +                 greater_id: greater,
[INFO] [stdout] 34 +             }), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 30 ~         diesel_async::RunQueryDsl::execute(insert_into(crate::schema::friend_relations::table)
[INFO] [stdout] 31 +             .values(crate::models::NewFriendRelation {
[INFO] [stdout] 32 +                 lesser_id: lesser,
[INFO] [stdout] 33 +                 greater_id: greater,
[INFO] [stdout] 34 +             }), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/auth.rs:301:14
[INFO] [stdout]     |
[INFO] [stdout] 301 |             .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] 299 ~         diesel_async::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 300 +             .set(is_public.eq(visibility)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 299 ~         diesel::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 300 +             .set(is_public.eq(visibility)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/friends.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |             .first::<UserIdentity>(&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] 11 ~         let Some(friend) = diesel_async::RunQueryDsl::first(user_identities
[INFO] [stdout] 12 +             .filter(friend_code.eq(friend)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 11 ~         let Some(friend) = diesel::RunQueryDsl::first(user_identities
[INFO] [stdout] 12 +             .filter(friend_code.eq(friend)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/friends.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |           let Some(friend) = user_identities
[INFO] [stdout]    |  ____________________________^
[INFO] [stdout] 12 | |             .filter(friend_code.eq(friend))
[INFO] [stdout] 13 | |             .first::<UserIdentity>(&mut conn)
[INFO] [stdout] 14 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/friends.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |             .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] 30 ~         diesel::RunQueryDsl::execute(insert_into(crate::schema::friend_relations::table)
[INFO] [stdout] 31 +             .values(crate::models::NewFriendRelation {
[INFO] [stdout] 32 +                 lesser_id: lesser,
[INFO] [stdout] 33 +                 greater_id: greater,
[INFO] [stdout] 34 +             }), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 30 ~         diesel_async::RunQueryDsl::execute(insert_into(crate::schema::friend_relations::table)
[INFO] [stdout] 31 +             .values(crate::models::NewFriendRelation {
[INFO] [stdout] 32 +                 lesser_id: lesser,
[INFO] [stdout] 33 +                 greater_id: greater,
[INFO] [stdout] 34 +             }), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/friends.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |             .load::<UserIdentity>(&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] 50 ~         let friends = diesel_async::RunQueryDsl::load(friend_relations
[INFO] [stdout] 51 +             .inner_join(user_identities.on(id.eq(lesser_id).or(id.eq(greater_id))))
[INFO] [stdout] 52 +             .select(user_identities::all_columns())
[INFO] [stdout] 53 +             .distinct()
[INFO] [stdout] 54 +             .filter(id.ne(user)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 50 ~         let friends = diesel::RunQueryDsl::load(friend_relations
[INFO] [stdout] 51 +             .inner_join(user_identities.on(id.eq(lesser_id).or(id.eq(greater_id))))
[INFO] [stdout] 52 +             .select(user_identities::all_columns())
[INFO] [stdout] 53 +             .distinct()
[INFO] [stdout] 54 +             .filter(id.ne(user)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/friends.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |             .load::<UserIdentity>(&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] 50 ~         let friends = diesel_async::RunQueryDsl::load(friend_relations
[INFO] [stdout] 51 +             .inner_join(user_identities.on(id.eq(lesser_id).or(id.eq(greater_id))))
[INFO] [stdout] 52 +             .select(user_identities::all_columns())
[INFO] [stdout] 53 +             .distinct()
[INFO] [stdout] 54 +             .filter(id.ne(user)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 50 ~         let friends = diesel::RunQueryDsl::load(friend_relations
[INFO] [stdout] 51 +             .inner_join(user_identities.on(id.eq(lesser_id).or(id.eq(greater_id))))
[INFO] [stdout] 52 +             .select(user_identities::all_columns())
[INFO] [stdout] 53 +             .distinct()
[INFO] [stdout] 54 +             .filter(id.ne(user)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/friends.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |             .load::<UserIdentity>(&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] 69 ~         let friends = diesel_async::RunQueryDsl::load(friend_relations
[INFO] [stdout] 70 +             .filter(lesser_id.eq(user).or(greater_id.eq(user)))
[INFO] [stdout] 71 +             .inner_join(user_identities.on(id.eq(lesser_id).or(id.eq(greater_id))))
[INFO] [stdout] 72 +             .distinct()
[INFO] [stdout] 73 +             .filter(id.ne(user))
[INFO] [stdout] 74 +             .select(user_identities::all_columns()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 69 ~         let friends = diesel::RunQueryDsl::load(friend_relations
[INFO] [stdout] 70 +             .filter(lesser_id.eq(user).or(greater_id.eq(user)))
[INFO] [stdout] 71 +             .inner_join(user_identities.on(id.eq(lesser_id).or(id.eq(greater_id))))
[INFO] [stdout] 72 +             .distinct()
[INFO] [stdout] 73 +             .filter(id.ne(user))
[INFO] [stdout] 74 +             .select(user_identities::all_columns()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/friends.rs:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let friends_with_time = CodingActivity::belonging_to(&friends)
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/friends.rs:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 |           let friends_with_time = CodingActivity::belonging_to(&friends)
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 84 | |             .load::<CodingActivity>(&mut conn)
[INFO] [stdout] 85 | |             .await?
[INFO] [stdout]    | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, models::UserIdentity)`
[INFO] [stdout]   --> src/database/friends.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .map(|(d, u)| FriendWithTime {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |                     all_time: d.iter().map(|a| a.duration).sum(),
[INFO] [stdout]    |                               - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .map(|(d, u): (_, _)| FriendWithTime {
[INFO] [stdout]    |                         ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/friends.rs:136:14
[INFO] [stdout]     |
[INFO] [stdout] 136 |             .first::<FriendRelation>(&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] 134 ~         Ok(diesel_async::RunQueryDsl::first(friend_relations
[INFO] [stdout] 135 +             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 134 ~         Ok(diesel::RunQueryDsl::first(friend_relations
[INFO] [stdout] 135 +             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/friends.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |             .load::<UserIdentity>(&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] 69 ~         let friends = diesel_async::RunQueryDsl::load(friend_relations
[INFO] [stdout] 70 +             .filter(lesser_id.eq(user).or(greater_id.eq(user)))
[INFO] [stdout] 71 +             .inner_join(user_identities.on(id.eq(lesser_id).or(id.eq(greater_id))))
[INFO] [stdout] 72 +             .distinct()
[INFO] [stdout] 73 +             .filter(id.ne(user))
[INFO] [stdout] 74 +             .select(user_identities::all_columns()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 69 ~         let friends = diesel::RunQueryDsl::load(friend_relations
[INFO] [stdout] 70 +             .filter(lesser_id.eq(user).or(greater_id.eq(user)))
[INFO] [stdout] 71 +             .inner_join(user_identities.on(id.eq(lesser_id).or(id.eq(greater_id))))
[INFO] [stdout] 72 +             .distinct()
[INFO] [stdout] 73 +             .filter(id.ne(user))
[INFO] [stdout] 74 +             .select(user_identities::all_columns()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/friends.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |           Ok(friend_relations
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 135 | |             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater)))
[INFO] [stdout] 136 | |             .first::<FriendRelation>(&mut conn)
[INFO] [stdout] 137 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/friends.rs:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let friends_with_time = CodingActivity::belonging_to(&friends)
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/friends.rs:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 |           let friends_with_time = CodingActivity::belonging_to(&friends)
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 84 | |             .load::<CodingActivity>(&mut conn)
[INFO] [stdout] 85 | |             .await?
[INFO] [stdout]    | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/friends.rs:154:14
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .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] 152 ~         Ok(diesel::RunQueryDsl::execute(diesel::delete(friend_relations)
[INFO] [stdout] 153 +             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 152 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(friend_relations)
[INFO] [stdout] 153 +             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, models::UserIdentity)`
[INFO] [stdout]   --> src/database/friends.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .map(|(d, u)| FriendWithTime {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |                     all_time: d.iter().map(|a| a.duration).sum(),
[INFO] [stdout]    |                               - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 89 |             .map(|(d, u): (_, _)| FriendWithTime {
[INFO] [stdout]    |                         ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/friends.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .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] 165 ~         diesel_async::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 166 +             .set(friend_code.eq(&code)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 165 ~         diesel::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 166 +             .set(friend_code.eq(&code)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/friends.rs:136:14
[INFO] [stdout]     |
[INFO] [stdout] 136 |             .first::<FriendRelation>(&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] 134 ~         Ok(diesel_async::RunQueryDsl::first(friend_relations
[INFO] [stdout] 135 +             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 134 ~         Ok(diesel::RunQueryDsl::first(friend_relations
[INFO] [stdout] 135 +             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/leaderboards.rs:44:26
[INFO] [stdout]    |
[INFO] [stdout] 44 |                         .get_results(&mut conn)
[INFO] [stdout]    |                          ^^^^^^^^^^^ multiple `get_results` 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] 41 ~                     let lid = diesel::RunQueryDsl::get_results(insert_into(crate::schema::leaderboards::table)
[INFO] [stdout] 42 +                         .values(&board)
[INFO] [stdout] 43 +                         .returning(id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 41 ~                     let lid = diesel_async::RunQueryDsl::get_results(insert_into(crate::schema::leaderboards::table)
[INFO] [stdout] 42 +                         .values(&board)
[INFO] [stdout] 43 +                         .returning(id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/friends.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |           Ok(friend_relations
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 135 | |             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater)))
[INFO] [stdout] 136 | |             .first::<FriendRelation>(&mut conn)
[INFO] [stdout] 137 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/leaderboards.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |                         .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] 53 ~                     diesel::RunQueryDsl::execute(insert_into(crate::schema::leaderboard_members::table)
[INFO] [stdout] 54 +                         .values(admin), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 53 ~                     diesel_async::RunQueryDsl::execute(insert_into(crate::schema::leaderboard_members::table)
[INFO] [stdout] 54 +                         .values(admin), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/friends.rs:154:14
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .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] 152 ~         Ok(diesel::RunQueryDsl::execute(diesel::delete(friend_relations)
[INFO] [stdout] 153 +             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 152 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(friend_relations)
[INFO] [stdout] 153 +             .filter(lesser_id.eq(lesser).and(greater_id.eq(greater))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/friends.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .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] 165 ~         diesel_async::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 166 +             .set(friend_code.eq(&code)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 165 ~         diesel::RunQueryDsl::execute(diesel::update(user_identities.find(userid))
[INFO] [stdout] 166 +             .set(friend_code.eq(&code)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/leaderboards.rs:74:14
[INFO] [stdout]    |
[INFO] [stdout] 74 |             .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] 72 ~         diesel_async::RunQueryDsl::execute(diesel::update(leaderboards.find(lid))
[INFO] [stdout] 73 +             .set(invite_code.eq(&newinvite)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 72 ~         diesel::RunQueryDsl::execute(diesel::update(leaderboards.find(lid))
[INFO] [stdout] 73 +             .set(invite_code.eq(&newinvite)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/leaderboards.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |             .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] 84 ~         Ok(diesel::RunQueryDsl::execute(diesel::delete(crate::schema::leaderboards::table)
[INFO] [stdout] 85 +             .filter(name.eq(lname)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 84 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(crate::schema::leaderboards::table)
[INFO] [stdout] 85 +             .filter(name.eq(lname)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/leaderboards.rs:44:26
[INFO] [stdout]    |
[INFO] [stdout] 44 |                         .get_results(&mut conn)
[INFO] [stdout]    |                          ^^^^^^^^^^^ multiple `get_results` 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] 41 ~                     let lid = diesel::RunQueryDsl::get_results(insert_into(crate::schema::leaderboards::table)
[INFO] [stdout] 42 +                         .values(&board)
[INFO] [stdout] 43 +                         .returning(id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 41 ~                     let lid = diesel_async::RunQueryDsl::get_results(insert_into(crate::schema::leaderboards::table)
[INFO] [stdout] 42 +                         .values(&board)
[INFO] [stdout] 43 +                         .returning(id), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/leaderboards.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |                         .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] 53 ~                     diesel::RunQueryDsl::execute(insert_into(crate::schema::leaderboard_members::table)
[INFO] [stdout] 54 +                         .values(admin), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 53 ~                     diesel_async::RunQueryDsl::execute(insert_into(crate::schema::leaderboard_members::table)
[INFO] [stdout] 54 +                         .values(admin), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:100:14
[INFO] [stdout]     |
[INFO] [stdout] 100 |             .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]  97 ~         Ok(diesel_async::RunQueryDsl::first(leaderboards
[INFO] [stdout]  98 +             .filter(lower(name).eq(lname.to_lowercase()))
[INFO] [stdout]  99 +             .select(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout]  97 ~         Ok(diesel::RunQueryDsl::first(leaderboards
[INFO] [stdout]  98 +             .filter(lower(name).eq(lname.to_lowercase()))
[INFO] [stdout]  99 +             .select(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 .first::<Leaderboard>(&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] 111 ~             diesel_async::RunQueryDsl::first(leaderboards
[INFO] [stdout] 112 +                 .filter(lower(name).eq(lname.to_lowercase())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 111 ~             diesel::RunQueryDsl::first(leaderboards
[INFO] [stdout] 112 +                 .filter(lower(name).eq(lname.to_lowercase())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let members = LeaderboardMember::belonging_to(&board)
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let members = LeaderboardMember::belonging_to(&board)
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |             CodingActivity::belonging_to(&members.iter().map(|(_, u)| u).collect::<Vec<_>>())
[INFO] [stdout]     |                                           ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `members` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let members: /* Type */ = LeaderboardMember::belonging_to(&board)
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/leaderboards.rs:74:14
[INFO] [stdout]    |
[INFO] [stdout] 74 |             .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] 72 ~         diesel_async::RunQueryDsl::execute(diesel::update(leaderboards.find(lid))
[INFO] [stdout] 73 +             .set(invite_code.eq(&newinvite)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 72 ~         diesel::RunQueryDsl::execute(diesel::update(leaderboards.find(lid))
[INFO] [stdout] 73 +             .set(invite_code.eq(&newinvite)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 | /             CodingActivity::belonging_to(&members.iter().map(|(_, u)| u).collect::<Vec<_>>())
[INFO] [stdout] 134 | |                 .filter(start_time.ge(aweekago))
[INFO] [stdout] 135 | |                 .load::<CodingActivity>(&mut conn)
[INFO] [stdout] 136 | |                 .await?
[INFO] [stdout]     | |_______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, ({type error}, {type error}))`
[INFO] [stdout]    --> src/database/leaderboards.rs:140:23
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 .map(|(d, (m, u))| PrivateLeaderboardMember {
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |                     time_coded: d.iter().map(|a| a.duration).sum(),
[INFO] [stdout]     |                                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 .map(|(d, (m, u)): (_, _)| PrivateLeaderboardMember {
[INFO] [stdout]     |                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/leaderboards.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |             .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] 84 ~         Ok(diesel::RunQueryDsl::execute(diesel::delete(crate::schema::leaderboards::table)
[INFO] [stdout] 85 +             .filter(name.eq(lname)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 84 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(crate::schema::leaderboards::table)
[INFO] [stdout] 85 +             .filter(name.eq(lname)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:100:14
[INFO] [stdout]     |
[INFO] [stdout] 100 |             .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]  97 ~         Ok(diesel_async::RunQueryDsl::first(leaderboards
[INFO] [stdout]  98 +             .filter(lower(name).eq(lname.to_lowercase()))
[INFO] [stdout]  99 +             .select(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout]  97 ~         Ok(diesel::RunQueryDsl::first(leaderboards
[INFO] [stdout]  98 +             .filter(lower(name).eq(lname.to_lowercase()))
[INFO] [stdout]  99 +             .select(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .first::<Leaderboard>(&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] 165 ~         let board = diesel_async::RunQueryDsl::first(leaderboards
[INFO] [stdout] 166 +             .filter(invite_code.eq(invite)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 165 ~         let board = diesel::RunQueryDsl::first(leaderboards
[INFO] [stdout] 166 +             .filter(invite_code.eq(invite)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 .first::<Leaderboard>(&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] 111 ~             diesel_async::RunQueryDsl::first(leaderboards
[INFO] [stdout] 112 +                 .filter(lower(name).eq(lname.to_lowercase())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 111 ~             diesel::RunQueryDsl::first(leaderboards
[INFO] [stdout] 112 +                 .filter(lower(name).eq(lname.to_lowercase())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:185:26
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         .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] 183 ~                     diesel::RunQueryDsl::execute(diesel::insert_into(leaderboard_members::table)
[INFO] [stdout] 184 +                         .values(&user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 183 ~                     diesel_async::RunQueryDsl::execute(diesel::insert_into(leaderboard_members::table)
[INFO] [stdout] 184 +                         .values(&user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let members = LeaderboardMember::belonging_to(&board)
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let members = LeaderboardMember::belonging_to(&board)
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |             CodingActivity::belonging_to(&members.iter().map(|(_, u)| u).collect::<Vec<_>>())
[INFO] [stdout]     |                                           ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `members` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let members: /* Type */ = LeaderboardMember::belonging_to(&board)
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 | /             CodingActivity::belonging_to(&members.iter().map(|(_, u)| u).collect::<Vec<_>>())
[INFO] [stdout] 134 | |                 .filter(start_time.ge(aweekago))
[INFO] [stdout] 135 | |                 .load::<CodingActivity>(&mut conn)
[INFO] [stdout] 136 | |                 .await?
[INFO] [stdout]     | |_______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, ({type error}, {type error}))`
[INFO] [stdout]    --> src/database/leaderboards.rs:140:23
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 .map(|(d, (m, u))| PrivateLeaderboardMember {
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |                     time_coded: d.iter().map(|a| a.duration).sum(),
[INFO] [stdout]     |                                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 .map(|(d, (m, u)): (_, _)| PrivateLeaderboardMember {
[INFO] [stdout]     |                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |             .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] 213 ~         Ok(diesel::RunQueryDsl::execute(diesel::delete(crate::schema::leaderboard_members::table)
[INFO] [stdout] 214 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 213 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(crate::schema::leaderboard_members::table)
[INFO] [stdout] 214 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 |             .first::<Leaderboard>(&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] 165 ~         let board = diesel_async::RunQueryDsl::first(leaderboards
[INFO] [stdout] 166 +             .filter(invite_code.eq(invite)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 165 ~         let board = diesel::RunQueryDsl::first(leaderboards
[INFO] [stdout] 166 +             .filter(invite_code.eq(invite)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:231:14
[INFO] [stdout]     |
[INFO] [stdout] 231 |             .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] 228 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::update(crate::schema::leaderboard_members::table)
[INFO] [stdout] 229 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 230 +             .set(admin.eq(true)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 228 ~         Ok(diesel::RunQueryDsl::execute(diesel::update(crate::schema::leaderboard_members::table)
[INFO] [stdout] 229 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 230 +             .set(admin.eq(true)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:185:26
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         .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] 183 ~                     diesel::RunQueryDsl::execute(diesel::insert_into(leaderboard_members::table)
[INFO] [stdout] 184 +                         .values(&user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 183 ~                     diesel_async::RunQueryDsl::execute(diesel::insert_into(leaderboard_members::table)
[INFO] [stdout] 184 +                         .values(&user), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.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] 244 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::update(crate::schema::leaderboard_members::table)
[INFO] [stdout] 245 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 246 +             .set(admin.eq(false)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 244 ~         Ok(diesel::RunQueryDsl::execute(diesel::update(crate::schema::leaderboard_members::table)
[INFO] [stdout] 245 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 246 +             .set(admin.eq(false)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |             .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] 213 ~         Ok(diesel::RunQueryDsl::execute(diesel::delete(crate::schema::leaderboard_members::table)
[INFO] [stdout] 214 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 213 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::delete(crate::schema::leaderboard_members::table)
[INFO] [stdout] 214 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid))), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:259:14
[INFO] [stdout]     |
[INFO] [stdout] 259 |             .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] 256 ~         Ok(diesel_async::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 257 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 258 +             .select(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 256 ~         Ok(diesel::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 257 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 258 +             .select(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 |           Ok(leaderboard_members
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 257 | |             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 258 | |             .select(id)
[INFO] [stdout] 259 | |             .first::<i32>(&mut conn)
[INFO] [stdout] 260 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:231:14
[INFO] [stdout]     |
[INFO] [stdout] 231 |             .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] 228 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::update(crate::schema::leaderboard_members::table)
[INFO] [stdout] 229 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 230 +             .set(admin.eq(true)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 228 ~         Ok(diesel::RunQueryDsl::execute(diesel::update(crate::schema::leaderboard_members::table)
[INFO] [stdout] 229 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 230 +             .set(admin.eq(true)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:272:14
[INFO] [stdout]     |
[INFO] [stdout] 272 |             .first::<bool>(&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] 269 ~         Ok(diesel_async::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 270 +             .filter(leaderboard_id.eq(lid).and(user_id.eq(uid)))
[INFO] [stdout] 271 +             .select(admin), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 269 ~         Ok(diesel::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 270 +             .filter(leaderboard_id.eq(lid).and(user_id.eq(uid)))
[INFO] [stdout] 271 +             .select(admin), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 |           Ok(leaderboard_members
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 270 | |             .filter(leaderboard_id.eq(lid).and(user_id.eq(uid)))
[INFO] [stdout] 271 | |             .select(admin)
[INFO] [stdout] 272 | |             .first::<bool>(&mut conn)
[INFO] [stdout] 273 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.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] 244 ~         Ok(diesel_async::RunQueryDsl::execute(diesel::update(crate::schema::leaderboard_members::table)
[INFO] [stdout] 245 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 246 +             .set(admin.eq(false)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 244 ~         Ok(diesel::RunQueryDsl::execute(diesel::update(crate::schema::leaderboard_members::table)
[INFO] [stdout] 245 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 246 +             .set(admin.eq(false)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:285:14
[INFO] [stdout]     |
[INFO] [stdout] 285 |             .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_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] 282 ~         Ok(diesel_async::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 283 +             .filter(leaderboard_id.eq(lid).and(admin.eq(true)))
[INFO] [stdout] 284 +             .select(diesel::dsl::count(user_id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 282 ~         Ok(diesel::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 283 +             .filter(leaderboard_id.eq(lid).and(admin.eq(true)))
[INFO] [stdout] 284 +             .select(diesel::dsl::count(user_id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:259:14
[INFO] [stdout]     |
[INFO] [stdout] 259 |             .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] 256 ~         Ok(diesel_async::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 257 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 258 +             .select(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 256 ~         Ok(diesel::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 257 +             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 258 +             .select(id), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:297:14
[INFO] [stdout]     |
[INFO] [stdout] 297 |             .first::<UserIdentity>(&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] 295 ~         let user = diesel_async::RunQueryDsl::first(user_identities::table
[INFO] [stdout] 296 +             .find(uid), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 295 ~         let user = diesel::RunQueryDsl::first(user_identities::table
[INFO] [stdout] 296 +             .find(uid), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 |           Ok(leaderboard_members
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 257 | |             .filter(user_id.eq(uid).and(leaderboard_id.eq(lid)))
[INFO] [stdout] 258 | |             .select(id)
[INFO] [stdout] 259 | |             .first::<i32>(&mut conn)
[INFO] [stdout] 260 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:300:22
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let boards = LeaderboardMember::belonging_to(&user)
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let boards = LeaderboardMember::belonging_to(&user)
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |         let members = LeaderboardMember::belonging_to(&boards.iter().collect::<Vec<_>>())
[INFO] [stdout]     |                                                        ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `boards` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let boards: /* Type */ = LeaderboardMember::belonging_to(&user)
[INFO] [stdout]     |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:272:14
[INFO] [stdout]     |
[INFO] [stdout] 272 |             .first::<bool>(&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] 269 ~         Ok(diesel_async::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 270 +             .filter(leaderboard_id.eq(lid).and(user_id.eq(uid)))
[INFO] [stdout] 271 +             .select(admin), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 269 ~         Ok(diesel::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 270 +             .filter(leaderboard_id.eq(lid).and(user_id.eq(uid)))
[INFO] [stdout] 271 +             .select(admin), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 |           Ok(leaderboard_members
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 270 | |             .filter(leaderboard_id.eq(lid).and(user_id.eq(uid)))
[INFO] [stdout] 271 | |             .select(admin)
[INFO] [stdout] 272 | |             .first::<bool>(&mut conn)
[INFO] [stdout] 273 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |           let usernames = LeaderboardMember::belonging_to(&boards.iter().collect::<Vec<_>>())
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 333 | |             .inner_join(crate::schema::user_identities::table)
[INFO] [stdout] 334 | |             .group_by(user_identities::dsl::id)
[INFO] [stdout] 335 | |             .select((user_identities::dsl::id, user_identities::dsl::username))
[INFO] [stdout] 336 | |             .load_stream::<(i32, String)>(&mut conn)
[INFO] [stdout] 337 | |             .await?
[INFO] [stdout]     | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:338:40
[INFO] [stdout]     |
[INFO] [stdout] 338 |             .try_fold(HashMap::new(), |mut acc, (id, name)| {
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 339 |                 acc.insert(id, name);
[INFO] [stdout]     |                 --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 338 |             .try_fold(HashMap::new(), |mut acc: /* Type */, (id, name)| {
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let members = LeaderboardMember::belonging_to(&boards.iter().collect::<Vec<_>>())
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |         let members_populated = members
[INFO] [stdout]     |                                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `members` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let members: /* Type */ = LeaderboardMember::belonging_to(&boards.iter().collect::<Vec<_>>())
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:285:14
[INFO] [stdout]     |
[INFO] [stdout] 285 |             .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_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] 282 ~         Ok(diesel_async::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 283 +             .filter(leaderboard_id.eq(lid).and(admin.eq(true)))
[INFO] [stdout] 284 +             .select(diesel::dsl::count(user_id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 282 ~         Ok(diesel::RunQueryDsl::first(leaderboard_members
[INFO] [stdout] 283 +             .filter(leaderboard_id.eq(lid).and(admin.eq(true)))
[INFO] [stdout] 284 +             .select(diesel::dsl::count(user_id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/database/leaderboards.rs:297:14
[INFO] [stdout]     |
[INFO] [stdout] 297 |             .first::<UserIdentity>(&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] 295 ~         let user = diesel_async::RunQueryDsl::first(user_identities::table
[INFO] [stdout] 296 +             .find(uid), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 295 ~         let user = diesel::RunQueryDsl::first(user_identities::table
[INFO] [stdout] 296 +             .find(uid), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/misc.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |             .load::<UserIdentity>(&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] 11 ~         Ok(diesel_async::RunQueryDsl::load(user_identities
[INFO] [stdout] 12 +             .filter(is_public.eq(true))
[INFO] [stdout] 13 +             .filter(username.like(format!("%{search}%"))), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 11 ~         Ok(diesel::RunQueryDsl::load(user_identities
[INFO] [stdout] 12 +             .filter(is_public.eq(true))
[INFO] [stdout] 13 +             .filter(username.like(format!("%{search}%"))), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/misc.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |           Ok(user_identities
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 12 | |             .filter(is_public.eq(true))
[INFO] [stdout] 13 | |             .filter(username.like(format!("%{search}%")))
[INFO] [stdout] 14 | |             .load::<UserIdentity>(&mut conn)
[INFO] [stdout] 15 | |             .await?
[INFO] [stdout]    | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:300:22
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let boards = LeaderboardMember::belonging_to(&user)
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/misc.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |             .map(|u| u.into())
[INFO] [stdout]    |                   ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 17 |             .map(|u: /* Type */| u.into())
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let boards = LeaderboardMember::belonging_to(&user)
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |         let members = LeaderboardMember::belonging_to(&boards.iter().collect::<Vec<_>>())
[INFO] [stdout]     |                                                        ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `boards` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let boards: /* Type */ = LeaderboardMember::belonging_to(&user)
[INFO] [stdout]     |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/misc.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 |         Ok(user_identities.count().first::<i64>(&mut conn).await? as u64)
[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] 25 -         Ok(user_identities.count().first::<i64>(&mut conn).await? as u64)
[INFO] [stdout] 25 +         Ok(diesel_async::RunQueryDsl::first(user_identities.count(), &mut conn).await? as u64)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 25 -         Ok(user_identities.count().first::<i64>(&mut conn).await? as u64)
[INFO] [stdout] 25 +         Ok(diesel::RunQueryDsl::first(user_identities.count(), &mut conn).await? as u64)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |           let usernames = LeaderboardMember::belonging_to(&boards.iter().collect::<Vec<_>>())
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 333 | |             .inner_join(crate::schema::user_identities::table)
[INFO] [stdout] 334 | |             .group_by(user_identities::dsl::id)
[INFO] [stdout] 335 | |             .select((user_identities::dsl::id, user_identities::dsl::username))
[INFO] [stdout] 336 | |             .load_stream::<(i32, String)>(&mut conn)
[INFO] [stdout] 337 | |             .await?
[INFO] [stdout]     | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:338:40
[INFO] [stdout]     |
[INFO] [stdout] 338 |             .try_fold(HashMap::new(), |mut acc, (id, name)| {
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 339 |                 acc.insert(id, name);
[INFO] [stdout]     |                 --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 338 |             .try_fold(HashMap::new(), |mut acc: /* Type */, (id, name)| {
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/misc.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |             .first::<Option<i64>>(&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] 35 ~         Ok(diesel_async::RunQueryDsl::first(coding_activities
[INFO] [stdout] 36 +             .select(sum(duration)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 35 ~         Ok(diesel::RunQueryDsl::first(coding_activities
[INFO] [stdout] 36 +             .select(sum(duration)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/database/leaderboards.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let members = LeaderboardMember::belonging_to(&boards.iter().collect::<Vec<_>>())
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |         let members_populated = members
[INFO] [stdout]     |                                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `members` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let members: /* Type */ = LeaderboardMember::belonging_to(&boards.iter().collect::<Vec<_>>())
[INFO] [stdout]     |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/misc.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |           Ok(coding_activities
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 36 | |             .select(sum(duration))
[INFO] [stdout] 37 | |             .first::<Option<i64>>(&mut conn)
[INFO] [stdout] 38 | |             .await?
[INFO] [stdout]    | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/misc.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |             .load::<UserIdentity>(&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] 11 ~         Ok(diesel_async::RunQueryDsl::load(user_identities
[INFO] [stdout] 12 +             .filter(is_public.eq(true))
[INFO] [stdout] 13 +             .filter(username.like(format!("%{search}%"))), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 11 ~         Ok(diesel::RunQueryDsl::load(user_identities
[INFO] [stdout] 12 +             .filter(is_public.eq(true))
[INFO] [stdout] 13 +             .filter(username.like(format!("%{search}%"))), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/misc.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |           Ok(user_identities
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 12 | |             .filter(is_public.eq(true))
[INFO] [stdout] 13 | |             .filter(username.like(format!("%{search}%")))
[INFO] [stdout] 14 | |             .load::<UserIdentity>(&mut conn)
[INFO] [stdout] 15 | |             .await?
[INFO] [stdout]    | |___________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/misc.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |             .map(|u| u.into())
[INFO] [stdout]    |                   ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 17 |             .map(|u: /* Type */| u.into())
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/misc.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 |         Ok(user_identities.count().first::<i64>(&mut conn).await? as u64)
[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] 25 -         Ok(user_identities.count().first::<i64>(&mut conn).await? as u64)
[INFO] [stdout] 25 +         Ok(diesel_async::RunQueryDsl::first(user_identities.count(), &mut conn).await? as u64)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 25 -         Ok(user_identities.count().first::<i64>(&mut conn).await? as u64)
[INFO] [stdout] 25 +         Ok(diesel::RunQueryDsl::first(user_identities.count(), &mut conn).await? as u64)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/database/misc.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |             .first::<Option<i64>>(&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] 35 ~         Ok(diesel_async::RunQueryDsl::first(coding_activities
[INFO] [stdout] 36 +             .select(sum(duration)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 35 ~         Ok(diesel::RunQueryDsl::first(coding_activities
[INFO] [stdout] 36 +             .select(sum(duration)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/database/misc.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |           Ok(coding_activities
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 36 | |             .select(sum(duration))
[INFO] [stdout] 37 | |             .first::<Option<i64>>(&mut conn)
[INFO] [stdout] 38 | |             .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 `testaustime-rs` (bin "testaustime-rs") due to 76 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 `testaustime-rs` (bin "testaustime-rs" test) due to 76 previous errors
[INFO] running `Command { std: "docker" "inspect" "1740e6bab1666a580b781b77e906aeea5173f977df1df2e31e79552eff0fa5da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1740e6bab1666a580b781b77e906aeea5173f977df1df2e31e79552eff0fa5da", kill_on_drop: false }`
[INFO] [stdout] 1740e6bab1666a580b781b77e906aeea5173f977df1df2e31e79552eff0fa5da
