[INFO] cloning repository https://github.com/Lethe10137/yuanyang25-back
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lethe10137/yuanyang25-back" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLethe10137%2Fyuanyang25-back", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLethe10137%2Fyuanyang25-back'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7ec80fc0929fc9a4d353013eebfe6e842d5cce77
[INFO] checking Lethe10137/yuanyang25-back against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLethe10137%2Fyuanyang25-back" "/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/Lethe10137/yuanyang25-back
[INFO] finished tweaking git repo https://github.com/Lethe10137/yuanyang25-back
[INFO] tweaked toml for git repo https://github.com/Lethe10137/yuanyang25-back written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Lethe10137/yuanyang25-back 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/Lethe10137/yuanyang25-back 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] 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] 146857a6d940c867d57dc8c54cbce0da14086e0c4f82d7fefcef85989a2a4e22
[INFO] running `Command { std: "docker" "start" "-a" "146857a6d940c867d57dc8c54cbce0da14086e0c4f82d7fefcef85989a2a4e22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "146857a6d940c867d57dc8c54cbce0da14086e0c4f82d7fefcef85989a2a4e22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "146857a6d940c867d57dc8c54cbce0da14086e0c4f82d7fefcef85989a2a4e22", kill_on_drop: false }`
[INFO] [stdout] 146857a6d940c867d57dc8c54cbce0da14086e0c4f82d7fefcef85989a2a4e22
[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] cec6ef58a68dcd9d272a08eedc4f4cc57c67862a10d21640a2b1ee0bb9fb6fb9
[INFO] running `Command { std: "docker" "start" "-a" "cec6ef58a68dcd9d272a08eedc4f4cc57c67862a10d21640a2b1ee0bb9fb6fb9", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling parking_lot_core v0.9.2
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling cc v1.1.28
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]     Checking aead v0.4.3
[INFO] [stderr]     Checking polyval v0.5.3
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking ctr v0.8.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking ghash v0.4.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling cookie v0.16.0
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking sha1 v0.10.4
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking aes-gcm v0.9.4
[INFO] [stderr]    Compiling pq-sys v0.6.3
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking phf_shared v0.11.2
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]    Compiling portable-atomic v1.10.0
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking whoami v1.5.2
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]    Compiling syn v2.0.93
[INFO] [stderr]     Checking parking_lot v0.12.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]     Checking event-listener-strategy v0.5.3
[INFO] [stderr]     Checking scoped-futures v0.1.4
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking postgres-protocol v0.6.7
[INFO] [stderr]     Checking r2d2 v0.8.10
[INFO] [stderr]     Checking postgres-types v0.2.8
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]     Checking zstd v0.13.2
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling dsl_auto_type v0.1.2
[INFO] [stderr]    Compiling diesel_derives v2.2.3
[INFO] [stderr]     Checking tokio-util v0.7.1
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking bb8 v0.8.6
[INFO] [stderr]     Checking bb8 v0.9.0
[INFO] [stderr]     Checking actix-server v2.5.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking tokio-postgres v0.7.12
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking uuid v1.12.0
[INFO] [stderr]     Checking moka v0.12.10
[INFO] [stderr]     Checking diesel v2.2.6
[INFO] [stderr]     Checking actix-http v3.9.0
[INFO] [stderr]     Checking actix-web v4.9.0
[INFO] [stderr]     Checking actix-session v0.10.1
[INFO] [stderr]     Checking actix-cors v0.7.0
[INFO] [stderr]     Checking diesel-async v0.5.2
[INFO] [stderr]     Checking server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/api/oracle.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     .get_result::<i64>(conn)
[INFO] [stdout]    |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 92 ~                 let active_count: i64 = diesel_async::RunQueryDsl::get_result(oracle
[INFO] [stdout] 93 +                     .filter(team.eq(team_id).and(active.eq(true)))
[INFO] [stdout] 94 +                     .select(diesel::dsl::count_star()), conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 92 ~                 let active_count: i64 = diesel::RunQueryDsl::get_result(oracle
[INFO] [stdout] 93 +                     .filter(team.eq(team_id).and(active.eq(true)))
[INFO] [stdout] 94 +                     .select(diesel::dsl::count_star()), conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/api/oracle.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     .get_result(conn)
[INFO] [stdout]     |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 111 ~                 let inserted_id: i32 = diesel::RunQueryDsl::get_result(diesel::insert_into(oracle)
[INFO] [stdout] 112 +                     .values(&new_oracle)
[INFO] [stdout] 113 +                     .returning(id), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 111 ~                 let inserted_id: i32 = diesel_async::RunQueryDsl::get_result(diesel::insert_into(oracle)
[INFO] [stdout] 112 +                     .values(&new_oracle)
[INFO] [stdout] 113 +                     .returning(id), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/api/oracle.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     .get_result::<i64>(conn)
[INFO] [stdout]    |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 92 ~                 let active_count: i64 = diesel_async::RunQueryDsl::get_result(oracle
[INFO] [stdout] 93 +                     .filter(team.eq(team_id).and(active.eq(true)))
[INFO] [stdout] 94 +                     .select(diesel::dsl::count_star()), conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 92 ~                 let active_count: i64 = diesel::RunQueryDsl::get_result(oracle
[INFO] [stdout] 93 +                     .filter(team.eq(team_id).and(active.eq(true)))
[INFO] [stdout] 94 +                     .select(diesel::dsl::count_star()), conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/api/oracle.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     .get_result(conn)
[INFO] [stdout]     |                      ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 111 ~                 let inserted_id: i32 = diesel::RunQueryDsl::get_result(diesel::insert_into(oracle)
[INFO] [stdout] 112 +                     .values(&new_oracle)
[INFO] [stdout] 113 +                     .returning(id), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 111 ~                 let inserted_id: i32 = diesel_async::RunQueryDsl::get_result(diesel::insert_into(oracle)
[INFO] [stdout] 112 +                     .values(&new_oracle)
[INFO] [stdout] 113 +                     .returning(id), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:528:10
[INFO] [stdout]     |
[INFO] [stdout] 528 |         .get_results::<OracleUpdateResult>(conn) // 获取返回的 `team` 字段
[INFO] [stdout]     |          ^^^^^^^^^^^ multiple `get_results` 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 `query_builder::sql_query::UncheckedBind<Query, Value, ST>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 524 ~     let result = diesel_async::RunQueryDsl::get_results(diesel::sql_query(query)
[INFO] [stdout] 525 ~         .bind::<BigInt, _>(refund_value) // 绑定 refund_value
[INFO] [stdout] 526 ~         .bind::<Text, _>(response_value) // 绑定 response_value
[INFO] [stdout] 527 ~         .bind::<Integer, _>(id), conn) // 获取返回的 `team` 字段
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 524 ~     let result = diesel::RunQueryDsl::get_results(diesel::sql_query(query)
[INFO] [stdout] 525 ~         .bind::<BigInt, _>(refund_value) // 绑定 refund_value
[INFO] [stdout] 526 ~         .bind::<Text, _>(response_value) // 绑定 response_value
[INFO] [stdout] 527 ~         .bind::<Integer, _>(id), conn) // 获取返回的 `team` 字段
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |     let result = diesel::sql_query(query)
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     Ok(result.get(0).map(|i| (i.team, i.refund)))
[INFO] [stdout]     |        ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `result` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 524 |     let result: /* Type */ = diesel::sql_query(query)
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:528:10
[INFO] [stdout]     |
[INFO] [stdout] 528 |         .get_results::<OracleUpdateResult>(conn) // 获取返回的 `team` 字段
[INFO] [stdout]     |          ^^^^^^^^^^^ multiple `get_results` 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 `query_builder::sql_query::UncheckedBind<Query, Value, ST>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 524 ~     let result = diesel_async::RunQueryDsl::get_results(diesel::sql_query(query)
[INFO] [stdout] 525 ~         .bind::<BigInt, _>(refund_value) // 绑定 refund_value
[INFO] [stdout] 526 ~         .bind::<Text, _>(response_value) // 绑定 response_value
[INFO] [stdout] 527 ~         .bind::<Integer, _>(id), conn) // 获取返回的 `team` 字段
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 524 ~     let result = diesel::RunQueryDsl::get_results(diesel::sql_query(query)
[INFO] [stdout] 525 ~         .bind::<BigInt, _>(refund_value) // 绑定 refund_value
[INFO] [stdout] 526 ~         .bind::<Text, _>(response_value) // 绑定 response_value
[INFO] [stdout] 527 ~         .bind::<Integer, _>(id), conn) // 获取返回的 `team` 字段
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |     let result = diesel::sql_query(query)
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     Ok(result.get(0).map(|i| (i.team, i.refund)))
[INFO] [stdout]     |        ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `result` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 524 |     let result: /* Type */ = diesel::sql_query(query)
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/util/economy.rs:88:10
[INFO] [stdout]    |
[INFO] [stdout] 88 |         .first::<i64>(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] 85 ~     let current_balance = diesel_async::RunQueryDsl::first(team_dsl::team
[INFO] [stdout] 86 +         .filter(team_dsl::id.eq(team_id))
[INFO] [stdout] 87 +         .select(team_dsl::token_balance), conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     let current_balance = diesel::RunQueryDsl::first(team_dsl::team
[INFO] [stdout] 86 +         .filter(team_dsl::id.eq(team_id))
[INFO] [stdout] 87 +         .select(team_dsl::token_balance), conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/util/economy.rs:88:10
[INFO] [stdout]    |
[INFO] [stdout] 88 |         .first::<i64>(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] 85 ~     let current_balance = diesel_async::RunQueryDsl::first(team_dsl::team
[INFO] [stdout] 86 +         .filter(team_dsl::id.eq(team_id))
[INFO] [stdout] 87 +         .select(team_dsl::token_balance), conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     let current_balance = diesel::RunQueryDsl::first(team_dsl::team
[INFO] [stdout] 86 +         .filter(team_dsl::id.eq(team_id))
[INFO] [stdout] 87 +         .select(team_dsl::token_balance), conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/economy.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 |         .execute(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] 101 ~     diesel::RunQueryDsl::execute(diesel::insert_into(transaction_dsl::transaction)
[INFO] [stdout] 102 +         .values((
[INFO] [stdout] 103 +             transaction_dsl::team.eq(team_id),
[INFO] [stdout] 104 +             transaction_dsl::desp.eq(description),
[INFO] [stdout] 105 +             transaction_dsl::amount.eq(amount),
[INFO] [stdout] 106 +             transaction_dsl::balance.eq(new_balance),
[INFO] [stdout] 107 +             transaction_dsl::allowance.eq(time_allowance),
[INFO] [stdout] 108 +             transaction_dsl::purchase_ref.eq(purchase),
[INFO] [stdout] 109 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 101 ~     diesel_async::RunQueryDsl::execute(diesel::insert_into(transaction_dsl::transaction)
[INFO] [stdout] 102 +         .values((
[INFO] [stdout] 103 +             transaction_dsl::team.eq(team_id),
[INFO] [stdout] 104 +             transaction_dsl::desp.eq(description),
[INFO] [stdout] 105 +             transaction_dsl::amount.eq(amount),
[INFO] [stdout] 106 +             transaction_dsl::balance.eq(new_balance),
[INFO] [stdout] 107 +             transaction_dsl::allowance.eq(time_allowance),
[INFO] [stdout] 108 +             transaction_dsl::purchase_ref.eq(purchase),
[INFO] [stdout] 109 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/economy.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     diesel::insert_into(transaction_dsl::transaction)
[INFO] [stdout] 102 | |         .values((
[INFO] [stdout] 103 | |             transaction_dsl::team.eq(team_id),
[INFO] [stdout] 104 | |             transaction_dsl::desp.eq(description),
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |         .execute(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/util/economy.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 |         .execute(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] 101 ~     diesel::RunQueryDsl::execute(diesel::insert_into(transaction_dsl::transaction)
[INFO] [stdout] 102 +         .values((
[INFO] [stdout] 103 +             transaction_dsl::team.eq(team_id),
[INFO] [stdout] 104 +             transaction_dsl::desp.eq(description),
[INFO] [stdout] 105 +             transaction_dsl::amount.eq(amount),
[INFO] [stdout] 106 +             transaction_dsl::balance.eq(new_balance),
[INFO] [stdout] 107 +             transaction_dsl::allowance.eq(time_allowance),
[INFO] [stdout] 108 +             transaction_dsl::purchase_ref.eq(purchase),
[INFO] [stdout] 109 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 101 ~     diesel_async::RunQueryDsl::execute(diesel::insert_into(transaction_dsl::transaction)
[INFO] [stdout] 102 +         .values((
[INFO] [stdout] 103 +             transaction_dsl::team.eq(team_id),
[INFO] [stdout] 104 +             transaction_dsl::desp.eq(description),
[INFO] [stdout] 105 +             transaction_dsl::amount.eq(amount),
[INFO] [stdout] 106 +             transaction_dsl::balance.eq(new_balance),
[INFO] [stdout] 107 +             transaction_dsl::allowance.eq(time_allowance),
[INFO] [stdout] 108 +             transaction_dsl::purchase_ref.eq(purchase),
[INFO] [stdout] 109 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/economy.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     diesel::insert_into(transaction_dsl::transaction)
[INFO] [stdout] 102 | |         .values((
[INFO] [stdout] 103 | |             transaction_dsl::team.eq(team_id),
[INFO] [stdout] 104 | |             transaction_dsl::desp.eq(description),
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |         .execute(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/util/economy.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 125 |         .execute(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] 120 ~     diesel_async::RunQueryDsl::execute(diesel::update(team_dsl::team.filter(team_dsl::id.eq(team_id)))
[INFO] [stdout] 121 +         .set((
[INFO] [stdout] 122 +             team_dsl::token_balance.eq(new_balance),
[INFO] [stdout] 123 +             team_dsl::confirmed.eq(true),
[INFO] [stdout] 124 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 120 ~     diesel::RunQueryDsl::execute(diesel::update(team_dsl::team.filter(team_dsl::id.eq(team_id)))
[INFO] [stdout] 121 +         .set((
[INFO] [stdout] 122 +             team_dsl::token_balance.eq(new_balance),
[INFO] [stdout] 123 +             team_dsl::confirmed.eq(true),
[INFO] [stdout] 124 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/economy.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 125 |         .execute(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] 120 ~     diesel_async::RunQueryDsl::execute(diesel::update(team_dsl::team.filter(team_dsl::id.eq(team_id)))
[INFO] [stdout] 121 +         .set((
[INFO] [stdout] 122 +             team_dsl::token_balance.eq(new_balance),
[INFO] [stdout] 123 +             team_dsl::confirmed.eq(true),
[INFO] [stdout] 124 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 120 ~     diesel::RunQueryDsl::execute(diesel::update(team_dsl::team.filter(team_dsl::id.eq(team_id)))
[INFO] [stdout] 121 +         .set((
[INFO] [stdout] 122 +             team_dsl::token_balance.eq(new_balance),
[INFO] [stdout] 123 +             team_dsl::confirmed.eq(true),
[INFO] [stdout] 124 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:295:10
[INFO] [stdout]     |
[INFO] [stdout] 295 |         .first::<(DateTime<Utc>, i32, i32)>(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] 292 ~     match diesel_async::RunQueryDsl::first(wrong_answer_cnt
[INFO] [stdout] 293 +         .filter(team.eq(team_id).and(puzzle.eq(puzzle_id)))
[INFO] [stdout] 294 +         .select((time_penalty_until, token_penalty_level, time_penalty_level)), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 292 ~     match diesel::RunQueryDsl::first(wrong_answer_cnt
[INFO] [stdout] 293 +         .filter(team.eq(team_id).and(puzzle.eq(puzzle_id)))
[INFO] [stdout] 294 +         .select((time_penalty_until, token_penalty_level, time_penalty_level)), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:295:10
[INFO] [stdout]     |
[INFO] [stdout] 295 |         .first::<(DateTime<Utc>, i32, i32)>(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] 292 ~     match diesel_async::RunQueryDsl::first(wrong_answer_cnt
[INFO] [stdout] 293 +         .filter(team.eq(team_id).and(puzzle.eq(puzzle_id)))
[INFO] [stdout] 294 +         .select((time_penalty_until, token_penalty_level, time_penalty_level)), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 292 ~     match diesel::RunQueryDsl::first(wrong_answer_cnt
[INFO] [stdout] 293 +         .filter(team.eq(team_id).and(puzzle.eq(puzzle_id)))
[INFO] [stdout] 294 +         .select((time_penalty_until, token_penalty_level, time_penalty_level)), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:349:10
[INFO] [stdout]     |
[INFO] [stdout] 349 |         .execute(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] 334 ~     diesel::RunQueryDsl::execute(diesel::insert_into(wrong_answer_cnt)
[INFO] [stdout] 335 +         .values((
[INFO] [stdout] 336 +             team.eq(team_id),
[INFO] [stdout] 337 +             puzzle.eq(puzzle_id),
[INFO] [stdout] 338 +             token_penalty_level.eq(data.token_penalty_level),
[INFO] [stdout] 339 +             time_penalty_level.eq(data.time_penalty_level),
[INFO] [stdout] 340 +             time_penalty_until.eq(data.time_penalty_until),
[INFO] [stdout] 341 +         ))
[INFO] [stdout] 342 +         .on_conflict((team, puzzle))
[INFO] [stdout] 343 +         .do_update()
[INFO] [stdout] 344 +         .set((
[INFO] [stdout] 345 +             token_penalty_level.eq(data.token_penalty_level),
[INFO] [stdout] 346 +             time_penalty_level.eq(data.time_penalty_level),
[INFO] [stdout] 347 +             time_penalty_until.eq(data.time_penalty_until),
[INFO] [stdout] 348 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 334 ~     diesel_async::RunQueryDsl::execute(diesel::insert_into(wrong_answer_cnt)
[INFO] [stdout] 335 +         .values((
[INFO] [stdout] 336 +             team.eq(team_id),
[INFO] [stdout] 337 +             puzzle.eq(puzzle_id),
[INFO] [stdout] 338 +             token_penalty_level.eq(data.token_penalty_level),
[INFO] [stdout] 339 +             time_penalty_level.eq(data.time_penalty_level),
[INFO] [stdout] 340 +             time_penalty_until.eq(data.time_penalty_until),
[INFO] [stdout] 341 +         ))
[INFO] [stdout] 342 +         .on_conflict((team, puzzle))
[INFO] [stdout] 343 +         .do_update()
[INFO] [stdout] 344 +         .set((
[INFO] [stdout] 345 +             token_penalty_level.eq(data.token_penalty_level),
[INFO] [stdout] 346 +             time_penalty_level.eq(data.time_penalty_level),
[INFO] [stdout] 347 +             time_penalty_until.eq(data.time_penalty_until),
[INFO] [stdout] 348 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 | /     diesel::insert_into(wrong_answer_cnt)
[INFO] [stdout] 335 | |         .values((
[INFO] [stdout] 336 | |             team.eq(team_id),
[INFO] [stdout] 337 | |             puzzle.eq(puzzle_id),
[INFO] [stdout] ...   |
[INFO] [stdout] 349 | |         .execute(conn)
[INFO] [stdout] 350 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:349:10
[INFO] [stdout]     |
[INFO] [stdout] 349 |         .execute(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] 334 ~     diesel::RunQueryDsl::execute(diesel::insert_into(wrong_answer_cnt)
[INFO] [stdout] 335 +         .values((
[INFO] [stdout] 336 +             team.eq(team_id),
[INFO] [stdout] 337 +             puzzle.eq(puzzle_id),
[INFO] [stdout] 338 +             token_penalty_level.eq(data.token_penalty_level),
[INFO] [stdout] 339 +             time_penalty_level.eq(data.time_penalty_level),
[INFO] [stdout] 340 +             time_penalty_until.eq(data.time_penalty_until),
[INFO] [stdout] 341 +         ))
[INFO] [stdout] 342 +         .on_conflict((team, puzzle))
[INFO] [stdout] 343 +         .do_update()
[INFO] [stdout] 344 +         .set((
[INFO] [stdout] 345 +             token_penalty_level.eq(data.token_penalty_level),
[INFO] [stdout] 346 +             time_penalty_level.eq(data.time_penalty_level),
[INFO] [stdout] 347 +             time_penalty_until.eq(data.time_penalty_until),
[INFO] [stdout] 348 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 334 ~     diesel_async::RunQueryDsl::execute(diesel::insert_into(wrong_answer_cnt)
[INFO] [stdout] 335 +         .values((
[INFO] [stdout] 336 +             team.eq(team_id),
[INFO] [stdout] 337 +             puzzle.eq(puzzle_id),
[INFO] [stdout] 338 +             token_penalty_level.eq(data.token_penalty_level),
[INFO] [stdout] 339 +             time_penalty_level.eq(data.time_penalty_level),
[INFO] [stdout] 340 +             time_penalty_until.eq(data.time_penalty_until),
[INFO] [stdout] 341 +         ))
[INFO] [stdout] 342 +         .on_conflict((team, puzzle))
[INFO] [stdout] 343 +         .do_update()
[INFO] [stdout] 344 +         .set((
[INFO] [stdout] 345 +             token_penalty_level.eq(data.token_penalty_level),
[INFO] [stdout] 346 +             time_penalty_level.eq(data.time_penalty_level),
[INFO] [stdout] 347 +             time_penalty_until.eq(data.time_penalty_until),
[INFO] [stdout] 348 +         )), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 | /     diesel::insert_into(wrong_answer_cnt)
[INFO] [stdout] 335 | |         .values((
[INFO] [stdout] 336 | |             team.eq(team_id),
[INFO] [stdout] 337 | |             puzzle.eq(puzzle_id),
[INFO] [stdout] ...   |
[INFO] [stdout] 349 | |         .execute(conn)
[INFO] [stdout] 350 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/api/register.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 .get_result(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 127 ~             let user: User = diesel::RunQueryDsl::get_result(diesel::insert_into(users::table)
[INFO] [stdout] 128 +                 .values((
[INFO] [stdout] 129 +                     users::username.eq(&form.username),
[INFO] [stdout] 130 +                     users::openid.eq(openid.as_str()),
[INFO] [stdout] 131 +                     users::privilege.eq(mark as i32),
[INFO] [stdout] 132 +                     users::salt.eq(&salt),
[INFO] [stdout] 133 +                     users::password.eq(&salted_password),
[INFO] [stdout] 134 +                 ))
[INFO] [stdout] 135 +                 .on_conflict(users::openid)
[INFO] [stdout] 136 +                 .do_update()
[INFO] [stdout] 137 +                 .set((
[INFO] [stdout] 138 +                     users::username.eq(&form.username),
[INFO] [stdout] 139 +                     users::privilege.eq(mark as i32),
[INFO] [stdout] 140 +                     users::salt.eq(&salt),
[INFO] [stdout] 141 +                     users::password.eq(&salted_password),
[INFO] [stdout] 142 +                 ))
[INFO] [stdout] 143 +                 .returning(User::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 127 ~             let user: User = diesel_async::RunQueryDsl::get_result(diesel::insert_into(users::table)
[INFO] [stdout] 128 +                 .values((
[INFO] [stdout] 129 +                     users::username.eq(&form.username),
[INFO] [stdout] 130 +                     users::openid.eq(openid.as_str()),
[INFO] [stdout] 131 +                     users::privilege.eq(mark as i32),
[INFO] [stdout] 132 +                     users::salt.eq(&salt),
[INFO] [stdout] 133 +                     users::password.eq(&salted_password),
[INFO] [stdout] 134 +                 ))
[INFO] [stdout] 135 +                 .on_conflict(users::openid)
[INFO] [stdout] 136 +                 .do_update()
[INFO] [stdout] 137 +                 .set((
[INFO] [stdout] 138 +                     users::username.eq(&form.username),
[INFO] [stdout] 139 +                     users::privilege.eq(mark as i32),
[INFO] [stdout] 140 +                     users::salt.eq(&salt),
[INFO] [stdout] 141 +                     users::password.eq(&salted_password),
[INFO] [stdout] 142 +                 ))
[INFO] [stdout] 143 +                 .returning(User::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api/register.rs:127:30
[INFO] [stdout]     |
[INFO] [stdout] 127 |               let user: User = diesel::insert_into(users::table)
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 128 | |                 .values((
[INFO] [stdout] 129 | |                     users::username.eq(&form.username),
[INFO] [stdout] 130 | |                     users::openid.eq(openid.as_str()),
[INFO] [stdout] ...   |
[INFO] [stdout] 144 | |                 .get_result(&mut conn)
[INFO] [stdout] 145 | |                 .await
[INFO] [stdout]     | |______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/api/register.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 |         .get_result::<User>(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 179 ~     let result: LoginResponse = if let Ok(user) = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 180 +         .filter(users::id.eq(id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 179 ~     let result: LoginResponse = if let Ok(user) = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 180 +         .filter(users::id.eq(id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/api/register.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 .get_result(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 127 ~             let user: User = diesel::RunQueryDsl::get_result(diesel::insert_into(users::table)
[INFO] [stdout] 128 +                 .values((
[INFO] [stdout] 129 +                     users::username.eq(&form.username),
[INFO] [stdout] 130 +                     users::openid.eq(openid.as_str()),
[INFO] [stdout] 131 +                     users::privilege.eq(mark as i32),
[INFO] [stdout] 132 +                     users::salt.eq(&salt),
[INFO] [stdout] 133 +                     users::password.eq(&salted_password),
[INFO] [stdout] 134 +                 ))
[INFO] [stdout] 135 +                 .on_conflict(users::openid)
[INFO] [stdout] 136 +                 .do_update()
[INFO] [stdout] 137 +                 .set((
[INFO] [stdout] 138 +                     users::username.eq(&form.username),
[INFO] [stdout] 139 +                     users::privilege.eq(mark as i32),
[INFO] [stdout] 140 +                     users::salt.eq(&salt),
[INFO] [stdout] 141 +                     users::password.eq(&salted_password),
[INFO] [stdout] 142 +                 ))
[INFO] [stdout] 143 +                 .returning(User::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 127 ~             let user: User = diesel_async::RunQueryDsl::get_result(diesel::insert_into(users::table)
[INFO] [stdout] 128 +                 .values((
[INFO] [stdout] 129 +                     users::username.eq(&form.username),
[INFO] [stdout] 130 +                     users::openid.eq(openid.as_str()),
[INFO] [stdout] 131 +                     users::privilege.eq(mark as i32),
[INFO] [stdout] 132 +                     users::salt.eq(&salt),
[INFO] [stdout] 133 +                     users::password.eq(&salted_password),
[INFO] [stdout] 134 +                 ))
[INFO] [stdout] 135 +                 .on_conflict(users::openid)
[INFO] [stdout] 136 +                 .do_update()
[INFO] [stdout] 137 +                 .set((
[INFO] [stdout] 138 +                     users::username.eq(&form.username),
[INFO] [stdout] 139 +                     users::privilege.eq(mark as i32),
[INFO] [stdout] 140 +                     users::salt.eq(&salt),
[INFO] [stdout] 141 +                     users::password.eq(&salted_password),
[INFO] [stdout] 142 +                 ))
[INFO] [stdout] 143 +                 .returning(User::as_returning()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api/register.rs:127:30
[INFO] [stdout]     |
[INFO] [stdout] 127 |               let user: User = diesel::insert_into(users::table)
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 128 | |                 .values((
[INFO] [stdout] 129 | |                     users::username.eq(&form.username),
[INFO] [stdout] 130 | |                     users::openid.eq(openid.as_str()),
[INFO] [stdout] ...   |
[INFO] [stdout] 144 | |                 .get_result(&mut conn)
[INFO] [stdout] 145 | |                 .await
[INFO] [stdout]     | |______________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/api/register.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 |         .get_result::<User>(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 179 ~     let result: LoginResponse = if let Ok(user) = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 180 +         .filter(users::id.eq(id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 179 ~     let result: LoginResponse = if let Ok(user) = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 180 +         .filter(users::id.eq(id)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:176:40
[INFO] [stdout]     |
[INFO] [stdout] 176 |     match users.filter(id.eq(user_id)).first::<User>(conn).await {
[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] 176 -     match users.filter(id.eq(user_id)).first::<User>(conn).await {
[INFO] [stdout] 176 +     match diesel_async::RunQueryDsl::first(users.filter(id.eq(user_id)), conn).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 176 -     match users.filter(id.eq(user_id)).first::<User>(conn).await {
[INFO] [stdout] 176 +     match diesel::RunQueryDsl::first(users.filter(id.eq(user_id)), conn).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:189:39
[INFO] [stdout]     |
[INFO] [stdout] 189 |     match team.filter(id.eq(team_id)).first::<Team>(conn).await {
[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] 189 -     match team.filter(id.eq(team_id)).first::<Team>(conn).await {
[INFO] [stdout] 189 +     match diesel_async::RunQueryDsl::first(team.filter(id.eq(team_id)), conn).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 189 -     match team.filter(id.eq(team_id)).first::<Team>(conn).await {
[INFO] [stdout] 189 +     match diesel::RunQueryDsl::first(team.filter(id.eq(team_id)), conn).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:176:40
[INFO] [stdout]     |
[INFO] [stdout] 176 |     match users.filter(id.eq(user_id)).first::<User>(conn).await {
[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] 176 -     match users.filter(id.eq(user_id)).first::<User>(conn).await {
[INFO] [stdout] 176 +     match diesel_async::RunQueryDsl::first(users.filter(id.eq(user_id)), conn).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 176 -     match users.filter(id.eq(user_id)).first::<User>(conn).await {
[INFO] [stdout] 176 +     match diesel::RunQueryDsl::first(users.filter(id.eq(user_id)), conn).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:189:39
[INFO] [stdout]     |
[INFO] [stdout] 189 |     match team.filter(id.eq(team_id)).first::<Team>(conn).await {
[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] 189 -     match team.filter(id.eq(team_id)).first::<Team>(conn).await {
[INFO] [stdout] 189 +     match diesel_async::RunQueryDsl::first(team.filter(id.eq(team_id)), conn).await {
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 189 -     match team.filter(id.eq(team_id)).first::<Team>(conn).await {
[INFO] [stdout] 189 +     match diesel::RunQueryDsl::first(team.filter(id.eq(team_id)), conn).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 |         .first::<bool>(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] 205 ~     match diesel_async::RunQueryDsl::first(team
[INFO] [stdout] 206 +         .filter(id.eq(team_id))
[INFO] [stdout] 207 +         .select(confirmed), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 205 ~     match diesel::RunQueryDsl::first(team
[INFO] [stdout] 206 +         .filter(id.eq(team_id))
[INFO] [stdout] 207 +         .select(confirmed), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:226:10
[INFO] [stdout]     |
[INFO] [stdout] 226 |         .first::<i64>(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] 223 ~     match diesel_async::RunQueryDsl::first(team
[INFO] [stdout] 224 +         .filter(id.eq(team_id))
[INFO] [stdout] 225 +         .select(token_balance), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 223 ~     match diesel::RunQueryDsl::first(team
[INFO] [stdout] 224 +         .filter(id.eq(team_id))
[INFO] [stdout] 225 +         .select(token_balance), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:319:10
[INFO] [stdout]     |
[INFO] [stdout] 319 |         .execute(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 `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 316 ~     diesel_async::RunQueryDsl::execute(submission
[INFO] [stdout] 317 +         .filter(team.eq(team_id))
[INFO] [stdout] 318 +         .count(), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 316 ~     diesel::RunQueryDsl::execute(submission
[INFO] [stdout] 317 +         .filter(team.eq(team_id))
[INFO] [stdout] 318 +         .count(), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:316:5
[INFO] [stdout]     |
[INFO] [stdout] 316 | /     submission
[INFO] [stdout] 317 | |         .filter(team.eq(team_id))
[INFO] [stdout] 318 | |         .count()
[INFO] [stdout] 319 | |         .execute(conn)
[INFO] [stdout] 320 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:370:10
[INFO] [stdout]     |
[INFO] [stdout] 370 |         .execute(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] 365 ~     diesel::RunQueryDsl::execute(diesel::insert_into(email)
[INFO] [stdout] 366 +         .values((user.eq(user_id), email_record.eq(user_email.as_str())))
[INFO] [stdout] 367 +         .on_conflict(user)
[INFO] [stdout] 368 +         .do_update()
[INFO] [stdout] 369 +         .set(email_record.eq(user_email.as_str())), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 365 ~     diesel_async::RunQueryDsl::execute(diesel::insert_into(email)
[INFO] [stdout] 366 +         .values((user.eq(user_id), email_record.eq(user_email.as_str())))
[INFO] [stdout] 367 +         .on_conflict(user)
[INFO] [stdout] 368 +         .do_update()
[INFO] [stdout] 369 +         .set(email_record.eq(user_email.as_str())), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 | /     diesel::insert_into(email)
[INFO] [stdout] 366 | |         .values((user.eq(user_id), email_record.eq(user_email.as_str())))
[INFO] [stdout] 367 | |         .on_conflict(user)
[INFO] [stdout] 368 | |         .do_update()
[INFO] [stdout] 369 | |         .set(email_record.eq(user_email.as_str()))
[INFO] [stdout] 370 | |         .execute(conn)
[INFO] [stdout] 371 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:385:10
[INFO] [stdout]     |
[INFO] [stdout] 385 |         .first::<String>(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] 382 ~     let record = diesel_async::RunQueryDsl::first(email
[INFO] [stdout] 383 +         .filter(user.eq(user_id))
[INFO] [stdout] 384 +         .select(email_record), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 382 ~     let record = diesel::RunQueryDsl::first(email
[INFO] [stdout] 383 +         .filter(user.eq(user_id))
[INFO] [stdout] 384 +         .select(email_record), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |       let record = email
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 383 | |         .filter(user.eq(user_id))
[INFO] [stdout] 384 | |         .select(email_record)
[INFO] [stdout] 385 | |         .first::<String>(conn)
[INFO] [stdout] 386 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:405:10
[INFO] [stdout]     |
[INFO] [stdout] 405 |         .first::<OracleRecord>(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] 402 ~     let record = diesel_async::RunQueryDsl::first(oracle
[INFO] [stdout] 403 +         .filter(team.eq(team_id).and(id.eq(oracle_id)))
[INFO] [stdout] 404 +         .select((id, puzzle, team, active, cost, refund, query, response)), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 402 ~     let record = diesel::RunQueryDsl::first(oracle
[INFO] [stdout] 403 +         .filter(team.eq(team_id).and(id.eq(oracle_id)))
[INFO] [stdout] 404 +         .select((id, puzzle, team, active, cost, refund, query, response)), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:402:18
[INFO] [stdout]     |
[INFO] [stdout] 402 |       let record = oracle
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 403 | |         .filter(team.eq(team_id).and(id.eq(oracle_id)))
[INFO] [stdout] 404 | |         .select((id, puzzle, team, active, cost, refund, query, response))
[INFO] [stdout] 405 | |         .first::<OracleRecord>(conn)
[INFO] [stdout] 406 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:424:10
[INFO] [stdout]     |
[INFO] [stdout] 424 |         .first::<OracleRecord>(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] 421 ~     let record = diesel_async::RunQueryDsl::first(oracle
[INFO] [stdout] 422 +         .filter(id.eq(oracle_id))
[INFO] [stdout] 423 +         .select((id, puzzle, team, active, cost, refund, query, response)), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 421 ~     let record = diesel::RunQueryDsl::first(oracle
[INFO] [stdout] 422 +         .filter(id.eq(oracle_id))
[INFO] [stdout] 423 +         .select((id, puzzle, team, active, cost, refund, query, response)), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:421:18
[INFO] [stdout]     |
[INFO] [stdout] 421 |       let record = oracle
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 422 | |         .filter(id.eq(oracle_id))
[INFO] [stdout] 423 | |         .select((id, puzzle, team, active, cost, refund, query, response))
[INFO] [stdout] 424 | |         .first::<OracleRecord>(conn)
[INFO] [stdout] 425 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:444:10
[INFO] [stdout]     |
[INFO] [stdout] 444 |         .load::<OracleSummary>(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] 441 ~     let oracles = diesel_async::RunQueryDsl::load(oracle
[INFO] [stdout] 442 +         .filter(team.eq(team_id).and(puzzle.eq(puzzle_id)))
[INFO] [stdout] 443 +         .select((id, active)), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 441 ~     let oracles = diesel::RunQueryDsl::load(oracle
[INFO] [stdout] 442 +         .filter(team.eq(team_id).and(puzzle.eq(puzzle_id)))
[INFO] [stdout] 443 +         .select((id, active)), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:465:10
[INFO] [stdout]     |
[INFO] [stdout] 465 |         .load::<OracleSummaryStaff>(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] 460 ~     let oracles = diesel_async::RunQueryDsl::load(oracle
[INFO] [stdout] 461 +         .filter(id.ge(oracle_id))
[INFO] [stdout] 462 +         .select((id, active, cost, refund, team, puzzle))
[INFO] [stdout] 463 +         .order(id.asc())
[INFO] [stdout] 464 +         .limit(limit as i64), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 460 ~     let oracles = diesel::RunQueryDsl::load(oracle
[INFO] [stdout] 461 +         .filter(id.ge(oracle_id))
[INFO] [stdout] 462 +         .select((id, active, cost, refund, team, puzzle))
[INFO] [stdout] 463 +         .order(id.asc())
[INFO] [stdout] 464 +         .limit(limit as i64), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:481:10
[INFO] [stdout]     |
[INFO] [stdout] 481 |         .first::<i32>(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] 477 ~     let result = diesel_async::RunQueryDsl::first(oracle
[INFO] [stdout] 478 ~         .filter(active.eq(true)) // 过滤active为true
[INFO] [stdout] 479 +         .select(id)
[INFO] [stdout] 480 +         .order(id.asc()), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 477 ~     let result = diesel::RunQueryDsl::first(oracle
[INFO] [stdout] 478 ~         .filter(active.eq(true)) // 过滤active为true
[INFO] [stdout] 479 +         .select(id)
[INFO] [stdout] 480 +         .order(id.asc()), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 |         .first::<bool>(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] 205 ~     match diesel_async::RunQueryDsl::first(team
[INFO] [stdout] 206 +         .filter(id.eq(team_id))
[INFO] [stdout] 207 +         .select(confirmed), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 205 ~     match diesel::RunQueryDsl::first(team
[INFO] [stdout] 206 +         .filter(id.eq(team_id))
[INFO] [stdout] 207 +         .select(confirmed), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:226:10
[INFO] [stdout]     |
[INFO] [stdout] 226 |         .first::<i64>(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] 223 ~     match diesel_async::RunQueryDsl::first(team
[INFO] [stdout] 224 +         .filter(id.eq(team_id))
[INFO] [stdout] 225 +         .select(token_balance), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 223 ~     match diesel::RunQueryDsl::first(team
[INFO] [stdout] 224 +         .filter(id.eq(team_id))
[INFO] [stdout] 225 +         .select(token_balance), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:319:10
[INFO] [stdout]     |
[INFO] [stdout] 319 |         .execute(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 `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 316 ~     diesel_async::RunQueryDsl::execute(submission
[INFO] [stdout] 317 +         .filter(team.eq(team_id))
[INFO] [stdout] 318 +         .count(), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 316 ~     diesel::RunQueryDsl::execute(submission
[INFO] [stdout] 317 +         .filter(team.eq(team_id))
[INFO] [stdout] 318 +         .count(), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:316:5
[INFO] [stdout]     |
[INFO] [stdout] 316 | /     submission
[INFO] [stdout] 317 | |         .filter(team.eq(team_id))
[INFO] [stdout] 318 | |         .count()
[INFO] [stdout] 319 | |         .execute(conn)
[INFO] [stdout] 320 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:370:10
[INFO] [stdout]     |
[INFO] [stdout] 370 |         .execute(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] 365 ~     diesel::RunQueryDsl::execute(diesel::insert_into(email)
[INFO] [stdout] 366 +         .values((user.eq(user_id), email_record.eq(user_email.as_str())))
[INFO] [stdout] 367 +         .on_conflict(user)
[INFO] [stdout] 368 +         .do_update()
[INFO] [stdout] 369 +         .set(email_record.eq(user_email.as_str())), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 365 ~     diesel_async::RunQueryDsl::execute(diesel::insert_into(email)
[INFO] [stdout] 366 +         .values((user.eq(user_id), email_record.eq(user_email.as_str())))
[INFO] [stdout] 367 +         .on_conflict(user)
[INFO] [stdout] 368 +         .do_update()
[INFO] [stdout] 369 +         .set(email_record.eq(user_email.as_str())), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 | /     diesel::insert_into(email)
[INFO] [stdout] 366 | |         .values((user.eq(user_id), email_record.eq(user_email.as_str())))
[INFO] [stdout] 367 | |         .on_conflict(user)
[INFO] [stdout] 368 | |         .do_update()
[INFO] [stdout] 369 | |         .set(email_record.eq(user_email.as_str()))
[INFO] [stdout] 370 | |         .execute(conn)
[INFO] [stdout] 371 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:385:10
[INFO] [stdout]     |
[INFO] [stdout] 385 |         .first::<String>(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] 382 ~     let record = diesel_async::RunQueryDsl::first(email
[INFO] [stdout] 383 +         .filter(user.eq(user_id))
[INFO] [stdout] 384 +         .select(email_record), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 382 ~     let record = diesel::RunQueryDsl::first(email
[INFO] [stdout] 383 +         .filter(user.eq(user_id))
[INFO] [stdout] 384 +         .select(email_record), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:382:18
[INFO] [stdout]     |
[INFO] [stdout] 382 |       let record = email
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 383 | |         .filter(user.eq(user_id))
[INFO] [stdout] 384 | |         .select(email_record)
[INFO] [stdout] 385 | |         .first::<String>(conn)
[INFO] [stdout] 386 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:405:10
[INFO] [stdout]     |
[INFO] [stdout] 405 |         .first::<OracleRecord>(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] 402 ~     let record = diesel_async::RunQueryDsl::first(oracle
[INFO] [stdout] 403 +         .filter(team.eq(team_id).and(id.eq(oracle_id)))
[INFO] [stdout] 404 +         .select((id, puzzle, team, active, cost, refund, query, response)), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 402 ~     let record = diesel::RunQueryDsl::first(oracle
[INFO] [stdout] 403 +         .filter(team.eq(team_id).and(id.eq(oracle_id)))
[INFO] [stdout] 404 +         .select((id, puzzle, team, active, cost, refund, query, response)), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:402:18
[INFO] [stdout]     |
[INFO] [stdout] 402 |       let record = oracle
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 403 | |         .filter(team.eq(team_id).and(id.eq(oracle_id)))
[INFO] [stdout] 404 | |         .select((id, puzzle, team, active, cost, refund, query, response))
[INFO] [stdout] 405 | |         .first::<OracleRecord>(conn)
[INFO] [stdout] 406 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:424:10
[INFO] [stdout]     |
[INFO] [stdout] 424 |         .first::<OracleRecord>(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] 421 ~     let record = diesel_async::RunQueryDsl::first(oracle
[INFO] [stdout] 422 +         .filter(id.eq(oracle_id))
[INFO] [stdout] 423 +         .select((id, puzzle, team, active, cost, refund, query, response)), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 421 ~     let record = diesel::RunQueryDsl::first(oracle
[INFO] [stdout] 422 +         .filter(id.eq(oracle_id))
[INFO] [stdout] 423 +         .select((id, puzzle, team, active, cost, refund, query, response)), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/util/api_util.rs:421:18
[INFO] [stdout]     |
[INFO] [stdout] 421 |       let record = oracle
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 422 | |         .filter(id.eq(oracle_id))
[INFO] [stdout] 423 | |         .select((id, puzzle, team, active, cost, refund, query, response))
[INFO] [stdout] 424 | |         .first::<OracleRecord>(conn)
[INFO] [stdout] 425 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/util/stat.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 |         .load(conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SqlQuery<Inner>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 51 -     let data: Vec<CountItem> = query
[INFO] [stdout] 52 -         .load(conn)
[INFO] [stdout] 51 +     let data: Vec<CountItem> = diesel::RunQueryDsl::load(query, conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 51 -     let data: Vec<CountItem> = query
[INFO] [stdout] 52 -         .load(conn)
[INFO] [stdout] 51 +     let data: Vec<CountItem> = diesel_async::RunQueryDsl::load(query, conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/util/stat.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 |       let data: Vec<CountItem> = query
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 52 | |         .load(conn)
[INFO] [stdout] 53 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/util/stat.rs:91:10
[INFO] [stdout]    |
[INFO] [stdout] 91 |         .load(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 `query_builder::sql_query::UncheckedBind<Query, Value, ST>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 90 -     let data: Vec<CountItem> = query
[INFO] [stdout] 91 -         .load(conn)
[INFO] [stdout] 90 +     let data: Vec<CountItem> = diesel_async::RunQueryDsl::load(query, conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 90 -     let data: Vec<CountItem> = query
[INFO] [stdout] 91 -         .load(conn)
[INFO] [stdout] 90 +     let data: Vec<CountItem> = diesel::RunQueryDsl::load(query, conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/util/stat.rs:90:32
[INFO] [stdout]    |
[INFO] [stdout] 90 |       let data: Vec<CountItem> = query
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 91 | |         .load(conn)
[INFO] [stdout] 92 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:444:10
[INFO] [stdout]     |
[INFO] [stdout] 444 |         .load::<OracleSummary>(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] 441 ~     let oracles = diesel_async::RunQueryDsl::load(oracle
[INFO] [stdout] 442 +         .filter(team.eq(team_id).and(puzzle.eq(puzzle_id)))
[INFO] [stdout] 443 +         .select((id, active)), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 441 ~     let oracles = diesel::RunQueryDsl::load(oracle
[INFO] [stdout] 442 +         .filter(team.eq(team_id).and(puzzle.eq(puzzle_id)))
[INFO] [stdout] 443 +         .select((id, active)), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:465:10
[INFO] [stdout]     |
[INFO] [stdout] 465 |         .load::<OracleSummaryStaff>(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] 460 ~     let oracles = diesel_async::RunQueryDsl::load(oracle
[INFO] [stdout] 461 +         .filter(id.ge(oracle_id))
[INFO] [stdout] 462 +         .select((id, active, cost, refund, team, puzzle))
[INFO] [stdout] 463 +         .order(id.asc())
[INFO] [stdout] 464 +         .limit(limit as i64), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 460 ~     let oracles = diesel::RunQueryDsl::load(oracle
[INFO] [stdout] 461 +         .filter(id.ge(oracle_id))
[INFO] [stdout] 462 +         .select((id, active, cost, refund, team, puzzle))
[INFO] [stdout] 463 +         .order(id.asc())
[INFO] [stdout] 464 +         .limit(limit as i64), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/util/api_util.rs:481:10
[INFO] [stdout]     |
[INFO] [stdout] 481 |         .first::<i32>(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] 477 ~     let result = diesel_async::RunQueryDsl::first(oracle
[INFO] [stdout] 478 ~         .filter(active.eq(true)) // 过滤active为true
[INFO] [stdout] 479 +         .select(id)
[INFO] [stdout] 480 +         .order(id.asc()), conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 477 ~     let result = diesel::RunQueryDsl::first(oracle
[INFO] [stdout] 478 ~         .filter(active.eq(true)) // 过滤active为true
[INFO] [stdout] 479 +         .select(id)
[INFO] [stdout] 480 +         .order(id.asc()), conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/util/stat.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 |         .load(conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SqlQuery<Inner>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 51 -     let data: Vec<CountItem> = query
[INFO] [stdout] 52 -         .load(conn)
[INFO] [stdout] 51 +     let data: Vec<CountItem> = diesel::RunQueryDsl::load(query, conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 51 -     let data: Vec<CountItem> = query
[INFO] [stdout] 52 -         .load(conn)
[INFO] [stdout] 51 +     let data: Vec<CountItem> = diesel_async::RunQueryDsl::load(query, conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/util/stat.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 |       let data: Vec<CountItem> = query
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 52 | |         .load(conn)
[INFO] [stdout] 53 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/util/stat.rs:91:10
[INFO] [stdout]    |
[INFO] [stdout] 91 |         .load(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 `query_builder::sql_query::UncheckedBind<Query, Value, ST>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 90 -     let data: Vec<CountItem> = query
[INFO] [stdout] 91 -         .load(conn)
[INFO] [stdout] 90 +     let data: Vec<CountItem> = diesel_async::RunQueryDsl::load(query, conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 90 -     let data: Vec<CountItem> = query
[INFO] [stdout] 91 -         .load(conn)
[INFO] [stdout] 90 +     let data: Vec<CountItem> = diesel::RunQueryDsl::load(query, conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/util/stat.rs:90:32
[INFO] [stdout]    |
[INFO] [stdout] 90 |       let data: Vec<CountItem> = query
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 91 | |         .load(conn)
[INFO] [stdout] 92 | |         .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 `server` (lib) due to 35 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 `server` (lib test) due to 35 previous errors
[INFO] running `Command { std: "docker" "inspect" "cec6ef58a68dcd9d272a08eedc4f4cc57c67862a10d21640a2b1ee0bb9fb6fb9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cec6ef58a68dcd9d272a08eedc4f4cc57c67862a10d21640a2b1ee0bb9fb6fb9", kill_on_drop: false }`
[INFO] [stdout] cec6ef58a68dcd9d272a08eedc4f4cc57c67862a10d21640a2b1ee0bb9fb6fb9
