[INFO] cloning repository https://github.com/wangjun861205/juju-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wangjun861205/juju-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwangjun861205%2Fjuju-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwangjun861205%2Fjuju-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7d356b0c5505d688056b2f9badabb6ce76c2e0a5
[INFO] checking wangjun861205/juju-backend against nightly-2024-02-05 for check-cfg
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwangjun861205%2Fjuju-backend" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/wangjun861205/juju-backend on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/wangjun861205/juju-backend
[INFO] finished tweaking git repo https://github.com/wangjun861205/juju-backend
[INFO] tweaked toml for git repo https://github.com/wangjun861205/juju-backend written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/wangjun861205/juju-backend already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/wangjun861205/juju-macros.git`
[INFO] [stderr]     Updating git repository `https://github.com/wangjun861205/sqlx-insert`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded actix-multipart-derive v0.6.0
[INFO] [stderr]   Downloaded default v0.1.2
[INFO] [stderr]   Downloaded ritelinked v0.3.2
[INFO] [stderr]   Downloaded serde_plain v1.0.1
[INFO] [stderr]   Downloaded actix-multipart v0.6.0
[INFO] [stderr]   Downloaded futures-sink v0.3.27
[INFO] [stderr]   Downloaded parse-size v1.0.0
[INFO] [stderr]   Downloaded slog-term v2.9.0
[INFO] [stderr]   Downloaded casbin v2.0.9
[INFO] [stderr]   Downloaded rhai_codegen v1.5.0
[INFO] [stderr]   Downloaded jsonwebtoken v8.2.0
[INFO] [stderr]   Downloaded rhai v1.12.0
[INFO] [stderr]   Downloaded futures-task v0.3.27
[INFO] [stderr]   Downloaded futures-macro v0.3.27
[INFO] [stderr]   Downloaded futures-core v0.3.27
[INFO] [stderr]   Downloaded futures-executor v0.3.27
[INFO] [stderr]   Downloaded futures-io v0.3.27
[INFO] [stderr]   Downloaded futures-util v0.3.27
[INFO] [stderr]   Downloaded slog-async v2.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6554dca12370f59cfe8a322c394b70a63db96af4dccf816d9ab039c75f688d15
[INFO] running `Command { std: "docker" "start" "-a" "6554dca12370f59cfe8a322c394b70a63db96af4dccf816d9ab039c75f688d15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6554dca12370f59cfe8a322c394b70a63db96af4dccf816d9ab039c75f688d15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6554dca12370f59cfe8a322c394b70a63db96af4dccf816d9ab039c75f688d15", kill_on_drop: false }`
[INFO] [stdout] 6554dca12370f59cfe8a322c394b70a63db96af4dccf816d9ab039c75f688d15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4fc0f8f390e0bf23b695bf4bc269d99f7fccb55f8a4dfb31ed5596ac9edc8c92
[INFO] running `Command { std: "docker" "start" "-a" "4fc0f8f390e0bf23b695bf4bc269d99f7fccb55f8a4dfb31ed5596ac9edc8c92", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.63
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling quote v1.0.29
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.140
[INFO] [stderr]    Compiling serde_derive v1.0.156
[INFO] [stderr]    Compiling serde v1.0.156
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling futures-core v0.3.27
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]     Checking bytes v1.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.7
[INFO] [stderr]    Compiling tokio v1.26.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling futures-channel v0.3.27
[INFO] [stderr]     Checking itoa v1.0.6
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]     Checking futures-sink v0.3.27
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling futures-task v0.3.27
[INFO] [stderr]    Compiling futures-util v0.3.27
[INFO] [stderr]    Compiling openssl v0.10.45
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking futures-io v0.3.27
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.15
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling paste v1.0.12
[INFO] [stderr]    Compiling serde_json v1.0.94
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking percent-encoding v2.2.0
[INFO] [stderr]    Compiling thiserror v1.0.39
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling time-macros v0.2.8
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking cpufeatures v0.2.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking unicode-bidi v0.3.11
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]     Checking ryu v1.0.13
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking mio v0.8.6
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking form_urlencoded v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking regex-syntax v0.6.28
[INFO] [stderr]     Checking digest v0.10.6
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]     Checking local-waker v0.1.3
[INFO] [stderr]    Compiling io-lifetimes v1.0.6
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling const-random-macro v0.1.15
[INFO] [stderr]    Compiling zstd-safe v6.0.4+zstd.1.5.4
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling openssl-sys v0.9.80
[INFO] [stderr]    Compiling zstd-sys v2.0.7+zstd.1.5.4
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking const-random v0.1.15
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling rustix v0.36.9
[INFO] [stderr]     Checking time v0.3.20
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking miniz_oxide v0.6.2
[INFO] [stderr]     Checking url v2.3.1
[INFO] [stderr]     Checking brotli-decompressor v2.3.4
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]     Checking regex v1.7.1
[INFO] [stderr]    Compiling bytestring v1.3.0
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]     Checking linux-raw-sys v0.1.4
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]     Checking flate2 v1.0.25
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]     Checking brotli v3.3.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]     Checking encoding_rs v0.8.32
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.53
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]     Checking base64 v0.21.0
[INFO] [stderr]    Compiling crc-catalog v2.2.0
[INFO] [stderr]    Compiling chrono v0.4.24
[INFO] [stderr]    Compiling crc v3.0.1
[INFO] [stderr]    Compiling dirs v4.0.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]    Compiling sqlformat v0.2.1
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling hkdf v0.12.3
[INFO] [stderr]    Compiling futures-intrusive v0.4.2
[INFO] [stderr]    Compiling tokio-stream v0.1.12
[INFO] [stderr]    Compiling sha2 v0.10.6
[INFO] [stderr]    Compiling hashlink v0.8.1
[INFO] [stderr]    Compiling atoi v1.0.0
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling md-5 v0.10.5
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]    Compiling async-trait v0.1.66
[INFO] [stderr]    Compiling whoami v1.4.0
[INFO] [stderr]    Compiling tokio-macros v1.8.2
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stderr]    Compiling futures-macro v0.3.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.39
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling actix-macros v0.2.3
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling unicode-segmentation v1.10.1
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling dotenvy v0.15.6
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling slog-async v2.7.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling rhai_codegen v1.5.0
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.7
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]    Compiling anyhow v1.0.71
[INFO] [stderr]    Compiling parse-size v1.0.0
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking tempfile v3.4.0
[INFO] [stderr]     Checking ritelinked v0.3.2
[INFO] [stderr]    Compiling actix-multipart-derive v0.6.0
[INFO] [stderr]     Checking slog-term v2.9.0
[INFO] [stderr]     Checking is-terminal v0.4.4
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]    Compiling syn v2.0.23
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]     Checking askama_escape v0.10.3
[INFO] [stderr]     Checking simple_asn1 v0.6.2
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]    Compiling sqlx-insert v0.1.0 (https://github.com/wangjun861205/sqlx-insert#d289a8f1)
[INFO] [stderr]     Checking uuid v1.3.2
[INFO] [stderr]    Compiling hex-literal v0.3.4
[INFO] [stderr]     Checking default v0.1.2
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling sqlx-rt v0.6.2
[INFO] [stderr]     Checking local-channel v0.1.3
[INFO] [stderr]     Checking futures-executor v0.3.27
[INFO] [stderr]     Checking futures v0.3.27
[INFO] [stderr]    Compiling juju-macros v0.1.0 (https://github.com/wangjun861205/juju-macros.git#d40eb6f4)
[INFO] [stderr]     Checking actix-router v0.5.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_plain v1.0.1
[INFO] [stderr]     Checking rhai v1.12.0
[INFO] [stderr]     Checking zstd v0.12.3+zstd.1.5.2
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking jsonwebtoken v8.2.0
[INFO] [stderr]    Compiling actix-web-codegen v4.2.0
[INFO] [stderr]    Compiling sqlx-core v0.6.2
[INFO] [stderr]     Checking tokio-util v0.7.7
[INFO] [stderr]     Checking actix-rt v2.8.0
[INFO] [stderr]     Checking actix-server v2.2.0
[INFO] [stderr]     Checking actix-codec v0.5.0
[INFO] [stderr]     Checking h2 v0.3.16
[INFO] [stderr]     Checking casbin v2.0.9
[INFO] [stderr]    Compiling sqlx-macros v0.6.2
[INFO] [stderr]     Checking actix-http v3.3.1
[INFO] [stderr]     Checking sqlx v0.6.2
[INFO] [stderr]     Checking actix-web v4.3.1
[INFO] [stderr]     Checking actix-multipart v0.6.0
[INFO] [stderr]     Checking actix-files v0.6.2
[INFO] [stderr]     Checking juju v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `query`
[INFO] [stdout]  --> src/handlers/vote.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{query, query_as, FromRow};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Answer`
[INFO] [stdout]  --> src/core/services/vote.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |         answer::{Answer, Insert as AnswerInsert, Submit},
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDate`
[INFO] [stdout]   --> src/database/sqlx.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::NaiveDate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::context::UserInfo`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::context::UserInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ServiceRequest`, `Service`, `Transform`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix_web::dev::{Service, ServiceRequest, Transform};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::HttpMessage`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use actix_web::HttpMessage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::Future`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use futures::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `query`
[INFO] [stdout]  --> src/handlers/vote.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{query, query_as, FromRow};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Answer`
[INFO] [stdout]  --> src/core/services/vote.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |         answer::{Answer, Insert as AnswerInsert, Submit},
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDate`
[INFO] [stdout]   --> src/database/sqlx.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::NaiveDate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::context::UserInfo`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::context::UserInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ServiceRequest`, `Service`, `Transform`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix_web::dev::{Service, ServiceRequest, Transform};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::HttpMessage`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use actix_web::HttpMessage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::Future`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use futures::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/impls/tokener/jwt.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(async_fn_in_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(async_fn_in_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> src/handlers/user.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     me: UserInfo,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> src/handlers/user.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     me: UserInfo,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/core/services/vote.rs:112:54
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub async fn submit_answers<D>(db: &mut D, uid: i32, id: i32, answers: Vec<Submit>) -> Result<(), Error>
[INFO] [stdout]     |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/core/services/vote.rs:112:54
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub async fn submit_answers<D>(db: &mut D, uid: i32, id: i32, answers: Vec<Submit>) -> Result<(), Error>
[INFO] [stdout]     |                                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/authorizer.rs:155:26
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn poll_ready(&self, ctx: &mut core::task::Context<'_>) -> std::task::Poll<Result<(), Self::Error>> {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/authorizer.rs:155:26
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn poll_ready(&self, ctx: &mut core::task::Context<'_>) -> std::task::Poll<Result<(), Self::Error>> {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `authorizer` is never read
[INFO] [stdout]    --> src/authorizer.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct PgAuthMiddleware<S> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 121 |     authorizer: PgAuthorizer,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `submit_answers` is never used
[INFO] [stdout]   --> src/handlers/answer.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn submit_answers(db: Data<PgPool>, user_info: UserInfo, Json(answers): Json<BulkSubmit>) -> Result<HttpResponse, Error> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_join_application` is never used
[INFO] [stdout]   --> src/handlers/application.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn create_join_application(user_info: UserInfo, Json(data): Json<JoinApplicationInsert>, db: Data<PgPool>) -> Result<HttpRespon...
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `phone`, `org_id`, `exclude_org_id`, `page`, and `size` are never read
[INFO] [stdout]   --> src/handlers/user.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ListParams {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 37 |     phone: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 38 |     org_id: Option<i32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 39 |     exclude_org_id: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     page: i64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 41 |     size: i64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ListParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/handlers/user.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub async fn list(
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `authorizer` is never read
[INFO] [stdout]    --> src/authorizer.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct PgAuthMiddleware<S> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 121 |     authorizer: PgAuthorizer,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `submit_answers` is never used
[INFO] [stdout]   --> src/handlers/answer.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn submit_answers(db: Data<PgPool>, user_info: UserInfo, Json(answers): Json<BulkSubmit>) -> Result<HttpResponse, Error> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_join_application` is never used
[INFO] [stdout]   --> src/handlers/application.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn create_join_application(user_info: UserInfo, Json(data): Json<JoinApplicationInsert>, db: Data<PgPool>) -> Result<HttpRespon...
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `phone`, `org_id`, `exclude_org_id`, `page`, and `size` are never read
[INFO] [stdout]   --> src/handlers/user.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ListParams {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 37 |     phone: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 38 |     org_id: Option<i32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 39 |     exclude_org_id: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     page: i64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 41 |     size: i64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ListParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/handlers/user.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub async fn list(
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn insert(&mut self, data: VoteInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 17 -     async fn insert(&mut self, data: VoteInsert) -> Result<i32, Error>;
[INFO] [stdout] 17 +     fn insert(&mut self, data: VoteInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn query(&mut self, query: &VoteQuery, pagination: Option<Pagination>) -> Result<Vec<Vote>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 18 -     async fn query(&mut self, query: &VoteQuery, pagination: Option<Pagination>) -> Result<Vec<Vote>, Error>;
[INFO] [stdout] 18 +     fn query(&mut self, query: &VoteQuery, pagination: Option<Pagination>) -> impl std::future::Future<Output = Result<Vec<Vote>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     async fn count(&mut self, query: &VoteQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 19 -     async fn count(&mut self, query: &VoteQuery) -> Result<i64, Error>;
[INFO] [stdout] 19 +     fn count(&mut self, query: &VoteQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     async fn get(&mut self, uid: i32, id: i32) -> Result<Vote, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 20 -     async fn get(&mut self, uid: i32, id: i32) -> Result<Vote, Error>;
[INFO] [stdout] 20 +     fn get(&mut self, uid: i32, id: i32) -> impl std::future::Future<Output = Result<Vote, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     async fn update_read_mark_version(&mut self, uid: i32, id: i32, version: i64) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 21 -     async fn update_read_mark_version(&mut self, uid: i32, id: i32, version: i64) -> Result<(), Error>;
[INFO] [stdout] 21 +     fn update_read_mark_version(&mut self, uid: i32, id: i32, version: i64) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     async fn insert_favorite(&mut self, favorite: FavoriteVote) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 22 -     async fn insert_favorite(&mut self, favorite: FavoriteVote) -> Result<(), Error>;
[INFO] [stdout] 22 +     fn insert_favorite(&mut self, favorite: FavoriteVote) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     async fn exists_favorite(&mut self, query: FavoriteVoteQuery) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 23 -     async fn exists_favorite(&mut self, query: FavoriteVoteQuery) -> Result<bool, Error>;
[INFO] [stdout] 23 +     fn exists_favorite(&mut self, query: FavoriteVoteQuery) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     async fn insert(&mut self, mark: VoteReadMarkInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 27 -     async fn insert(&mut self, mark: VoteReadMarkInsert) -> Result<i32, Error>;
[INFO] [stdout] 27 +     fn insert(&mut self, mark: VoteReadMarkInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     async fn insert(&mut self, data: OrganizationInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 31 -     async fn insert(&mut self, data: OrganizationInsert) -> Result<i32, Error>;
[INFO] [stdout] 31 +     fn insert(&mut self, data: OrganizationInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn update(&mut self, id: i32, data: OrganizationUpdate) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 32 -     async fn update(&mut self, id: i32, data: OrganizationUpdate) -> Result<(), Error>;
[INFO] [stdout] 32 +     fn update(&mut self, id: i32, data: OrganizationUpdate) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     async fn query(&mut self, param: OrganizationQuery, page: i64, size: i64) -> Result<Vec<OrganizationWithVoteInfo>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 33 -     async fn query(&mut self, param: OrganizationQuery, page: i64, size: i64) -> Result<Vec<OrganizationWithVoteInfo>, Error>;
[INFO] [stdout] 33 +     fn query(&mut self, param: OrganizationQuery, page: i64, size: i64) -> impl std::future::Future<Output = Result<Vec<OrganizationWithVoteInfo>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn count(&mut self, param: OrganizationQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 34 -     async fn count(&mut self, param: OrganizationQuery) -> Result<i64, Error>;
[INFO] [stdout] 34 +     fn count(&mut self, param: OrganizationQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     async fn delete(&mut self, id: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 35 -     async fn delete(&mut self, id: i32) -> Result<(), Error>;
[INFO] [stdout] 35 +     fn delete(&mut self, id: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     async fn exists(&mut self, name: &str) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 36 -     async fn exists(&mut self, name: &str) -> Result<bool, Error>;
[INFO] [stdout] 36 +     fn exists(&mut self, name: &str) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     async fn add_member(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 37 -     async fn add_member(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout] 37 +     fn add_member(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn add_user_version(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 38 -     async fn add_user_version(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout] 38 +     fn add_user_version(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     async fn update_user_version(&mut self, id: i32, uid: i32, version: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 39 -     async fn update_user_version(&mut self, id: i32, uid: i32, version: i32) -> Result<(), Error>;
[INFO] [stdout] 39 +     fn update_user_version(&mut self, id: i32, uid: i32, version: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn add_manager(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 40 -     async fn add_manager(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout] 40 +     fn add_manager(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn get(&mut self, id: i32) -> Result<Organization, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 41 -     async fn get(&mut self, id: i32) -> Result<Organization, Error>;
[INFO] [stdout] 41 +     fn get(&mut self, id: i32) -> impl std::future::Future<Output = Result<Organization, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     async fn get_for_update(&mut self, id: i32) -> Result<Organization, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 42 -     async fn get_for_update(&mut self, id: i32) -> Result<Organization, Error>;
[INFO] [stdout] 42 +     fn get_for_update(&mut self, id: i32) -> impl std::future::Future<Output = Result<Organization, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn is_member(&mut self, id: i32, uid: i32) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 43 -     async fn is_member(&mut self, id: i32, uid: i32) -> Result<bool, Error>;
[INFO] [stdout] 43 +     fn is_member(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn is_manager(&mut self, id: i32, uid: i32) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 44 -     async fn is_manager(&mut self, id: i32, uid: i32) -> Result<bool, Error>;
[INFO] [stdout] 44 +     fn is_manager(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     async fn insert(&mut self, uid: i32, question: QuestionInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 48 -     async fn insert(&mut self, uid: i32, question: QuestionInsert) -> Result<i32, Error>;
[INFO] [stdout] 48 +     fn insert(&mut self, uid: i32, question: QuestionInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn query(&mut self, uid: i32, query: QuestionQuery, pagination: Option<Pagination>) -> Result<Vec<Question>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 49 -     async fn query(&mut self, uid: i32, query: QuestionQuery, pagination: Option<Pagination>) -> Result<Vec<Question>, Error>;
[INFO] [stdout] 49 +     fn query(&mut self, uid: i32, query: QuestionQuery, pagination: Option<Pagination>) -> impl std::future::Future<Output = Result<Vec<Question>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     async fn count(&mut self, query: QuestionQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 50 -     async fn count(&mut self, query: QuestionQuery) -> Result<i64, Error>;
[INFO] [stdout] 50 +     fn count(&mut self, query: QuestionQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     async fn get(&mut self, uid: i32, id: i32) -> Result<Question, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 51 -     async fn get(&mut self, uid: i32, id: i32) -> Result<Question, Error>;
[INFO] [stdout] 51 +     fn get(&mut self, uid: i32, id: i32) -> impl std::future::Future<Output = Result<Question, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     async fn delete(&mut self, id: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 52 -     async fn delete(&mut self, id: i32) -> Result<(), Error>;
[INFO] [stdout] 52 +     fn delete(&mut self, id: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     async fn get_organization_id(&mut self, question_id: i32) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 53 -     async fn get_organization_id(&mut self, question_id: i32) -> Result<i32, Error>;
[INFO] [stdout] 53 +     fn get_organization_id(&mut self, question_id: i32) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     async fn is_owner(&mut self, uid: i32, id: i32) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 54 -     async fn is_owner(&mut self, uid: i32, id: i32) -> Result<bool, Error>;
[INFO] [stdout] 54 +     fn is_owner(&mut self, uid: i32, id: i32) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     async fn is_belongs_to_vote(&mut self, vote_id: i32, ids: Vec<i32>) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 55 -     async fn is_belongs_to_vote(&mut self, vote_id: i32, ids: Vec<i32>) -> Result<bool, Error>;
[INFO] [stdout] 55 +     fn is_belongs_to_vote(&mut self, vote_id: i32, ids: Vec<i32>) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     async fn insert_favorite(&mut self, favorite: FavoriteQuestion) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 56 -     async fn insert_favorite(&mut self, favorite: FavoriteQuestion) -> Result<(), Error>;
[INFO] [stdout] 56 +     fn insert_favorite(&mut self, favorite: FavoriteQuestion) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     async fn exists_favorite(&mut self, query: FavoriteQuestionQuery) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 57 -     async fn exists_favorite(&mut self, query: FavoriteQuestionQuery) -> Result<bool, Error>;
[INFO] [stdout] 57 +     fn exists_favorite(&mut self, query: FavoriteQuestionQuery) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn insert(&mut self, mark: QuestionReadMarkInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 61 -     async fn insert(&mut self, mark: QuestionReadMarkInsert) -> Result<i32, Error>;
[INFO] [stdout] 61 +     fn insert(&mut self, mark: QuestionReadMarkInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn update(&mut self, update: QuestionReadMarkUpdate) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 62 -     async fn update(&mut self, update: QuestionReadMarkUpdate) -> Result<(), Error>;
[INFO] [stdout] 62 +     fn update(&mut self, update: QuestionReadMarkUpdate) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     async fn get_by_phone(&mut self, phone: String) -> Result<Option<User>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 66 -     async fn get_by_phone(&mut self, phone: String) -> Result<Option<User>, Error>;
[INFO] [stdout] 66 +     fn get_by_phone(&mut self, phone: String) -> impl std::future::Future<Output = Result<Option<User>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     async fn get(&mut self, id: i32) -> Result<User, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 67 -     async fn get(&mut self, id: i32) -> Result<User, Error>;
[INFO] [stdout] 67 +     fn get(&mut self, id: i32) -> impl std::future::Future<Output = Result<User, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     async fn patch(&mut self, id: i32, user: UserPatch) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 68 -     async fn patch(&mut self, id: i32, user: UserPatch) -> Result<(), Error>;
[INFO] [stdout] 68 +     fn patch(&mut self, id: i32, user: UserPatch) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     async fn insert(&mut self, option: OptionInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 72 -     async fn insert(&mut self, option: OptionInsert) -> Result<i32, Error>;
[INFO] [stdout] 72 +     fn insert(&mut self, option: OptionInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     async fn query(&mut self, query: OptionQuery) -> Result<Vec<Opt>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 73 -     async fn query(&mut self, query: OptionQuery) -> Result<Vec<Opt>, Error>;
[INFO] [stdout] 73 +     fn query(&mut self, query: OptionQuery) -> impl std::future::Future<Output = Result<Vec<Opt>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     async fn count(&mut self, query: OptionQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 74 -     async fn count(&mut self, query: OptionQuery) -> Result<i64, Error>;
[INFO] [stdout] 74 +     fn count(&mut self, query: OptionQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     async fn count_question(&mut self, query: OptionQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 75 -     async fn count_question(&mut self, query: OptionQuery) -> Result<i64, Error>;
[INFO] [stdout] 75 +     fn count_question(&mut self, query: OptionQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn is_belongs_to_question(&mut self, question_id: i32, ids: Vec<i32>) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 76 -     async fn is_belongs_to_question(&mut self, question_id: i32, ids: Vec<i32>) -> Result<bool, Error>;
[INFO] [stdout] 76 +     fn is_belongs_to_question(&mut self, question_id: i32, ids: Vec<i32>) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     async fn insert(&mut self, answer: AnswerInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 80 -     async fn insert(&mut self, answer: AnswerInsert) -> Result<i32, Error>;
[INFO] [stdout] 80 +     fn insert(&mut self, answer: AnswerInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     async fn bulk_insert(&mut self, answers: Vec<AnswerInsert>) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 81 -     async fn bulk_insert(&mut self, answers: Vec<AnswerInsert>) -> Result<(), Error>;
[INFO] [stdout] 81 +     fn bulk_insert(&mut self, answers: Vec<AnswerInsert>) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     async fn delete(&mut self, query: AnswerQuery) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 82 -     async fn delete(&mut self, query: AnswerQuery) -> Result<i32, Error>;
[INFO] [stdout] 82 +     fn delete(&mut self, query: AnswerQuery) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     async fn execute_in_transaction<F, R>(&'static self, f: F) -> Result<R, Error>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 89 -     async fn execute_in_transaction<F, R>(&'static self, f: F) -> Result<R, Error>
[INFO] [stdout] 89 +     fn execute_in_transaction<F, R>(&'static self, f: F) -> impl std::future::Future<Output = Result<R, Error>> + Send
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     async fn commit(self) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 97 -     async fn commit(self) -> Result<(), Error>;
[INFO] [stdout] 97 +     fn commit(self) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     async fn rollback(self) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 98 -     async fn rollback(self) -> Result<(), Error>;
[INFO] [stdout] 98 +     fn rollback(self) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/core/ports/repository.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     async fn db(&'m self) -> Result<S, Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 106 -     async fn db(&'m self) -> Result<S, Error>;
[INFO] [stdout] 106 +     fn db(&'m self) -> impl std::future::Future<Output = Result<S, Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/core/ports/repository.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn tx(&'m self) -> Result<T, Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 107 -     async fn tx(&'m self) -> Result<T, Error>;
[INFO] [stdout] 107 +     fn tx(&'m self) -> impl std::future::Future<Output = Result<T, Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn insert(&mut self, data: VoteInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 17 -     async fn insert(&mut self, data: VoteInsert) -> Result<i32, Error>;
[INFO] [stdout] 17 +     fn insert(&mut self, data: VoteInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn query(&mut self, query: &VoteQuery, pagination: Option<Pagination>) -> Result<Vec<Vote>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 18 -     async fn query(&mut self, query: &VoteQuery, pagination: Option<Pagination>) -> Result<Vec<Vote>, Error>;
[INFO] [stdout] 18 +     fn query(&mut self, query: &VoteQuery, pagination: Option<Pagination>) -> impl std::future::Future<Output = Result<Vec<Vote>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     async fn count(&mut self, query: &VoteQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 19 -     async fn count(&mut self, query: &VoteQuery) -> Result<i64, Error>;
[INFO] [stdout] 19 +     fn count(&mut self, query: &VoteQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     async fn get(&mut self, uid: i32, id: i32) -> Result<Vote, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 20 -     async fn get(&mut self, uid: i32, id: i32) -> Result<Vote, Error>;
[INFO] [stdout] 20 +     fn get(&mut self, uid: i32, id: i32) -> impl std::future::Future<Output = Result<Vote, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     async fn update_read_mark_version(&mut self, uid: i32, id: i32, version: i64) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 21 -     async fn update_read_mark_version(&mut self, uid: i32, id: i32, version: i64) -> Result<(), Error>;
[INFO] [stdout] 21 +     fn update_read_mark_version(&mut self, uid: i32, id: i32, version: i64) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     async fn insert_favorite(&mut self, favorite: FavoriteVote) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 22 -     async fn insert_favorite(&mut self, favorite: FavoriteVote) -> Result<(), Error>;
[INFO] [stdout] 22 +     fn insert_favorite(&mut self, favorite: FavoriteVote) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     async fn exists_favorite(&mut self, query: FavoriteVoteQuery) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 23 -     async fn exists_favorite(&mut self, query: FavoriteVoteQuery) -> Result<bool, Error>;
[INFO] [stdout] 23 +     fn exists_favorite(&mut self, query: FavoriteVoteQuery) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     async fn insert(&mut self, mark: VoteReadMarkInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 27 -     async fn insert(&mut self, mark: VoteReadMarkInsert) -> Result<i32, Error>;
[INFO] [stdout] 27 +     fn insert(&mut self, mark: VoteReadMarkInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     async fn insert(&mut self, data: OrganizationInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 31 -     async fn insert(&mut self, data: OrganizationInsert) -> Result<i32, Error>;
[INFO] [stdout] 31 +     fn insert(&mut self, data: OrganizationInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn update(&mut self, id: i32, data: OrganizationUpdate) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 32 -     async fn update(&mut self, id: i32, data: OrganizationUpdate) -> Result<(), Error>;
[INFO] [stdout] 32 +     fn update(&mut self, id: i32, data: OrganizationUpdate) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     async fn query(&mut self, param: OrganizationQuery, page: i64, size: i64) -> Result<Vec<OrganizationWithVoteInfo>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 33 -     async fn query(&mut self, param: OrganizationQuery, page: i64, size: i64) -> Result<Vec<OrganizationWithVoteInfo>, Error>;
[INFO] [stdout] 33 +     fn query(&mut self, param: OrganizationQuery, page: i64, size: i64) -> impl std::future::Future<Output = Result<Vec<OrganizationWithVoteInfo>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn count(&mut self, param: OrganizationQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 34 -     async fn count(&mut self, param: OrganizationQuery) -> Result<i64, Error>;
[INFO] [stdout] 34 +     fn count(&mut self, param: OrganizationQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     async fn delete(&mut self, id: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 35 -     async fn delete(&mut self, id: i32) -> Result<(), Error>;
[INFO] [stdout] 35 +     fn delete(&mut self, id: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     async fn exists(&mut self, name: &str) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 36 -     async fn exists(&mut self, name: &str) -> Result<bool, Error>;
[INFO] [stdout] 36 +     fn exists(&mut self, name: &str) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     async fn add_member(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 37 -     async fn add_member(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout] 37 +     fn add_member(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn add_user_version(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 38 -     async fn add_user_version(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout] 38 +     fn add_user_version(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     async fn update_user_version(&mut self, id: i32, uid: i32, version: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 39 -     async fn update_user_version(&mut self, id: i32, uid: i32, version: i32) -> Result<(), Error>;
[INFO] [stdout] 39 +     fn update_user_version(&mut self, id: i32, uid: i32, version: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn add_manager(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 40 -     async fn add_manager(&mut self, id: i32, uid: i32) -> Result<(), Error>;
[INFO] [stdout] 40 +     fn add_manager(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn get(&mut self, id: i32) -> Result<Organization, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 41 -     async fn get(&mut self, id: i32) -> Result<Organization, Error>;
[INFO] [stdout] 41 +     fn get(&mut self, id: i32) -> impl std::future::Future<Output = Result<Organization, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     async fn get_for_update(&mut self, id: i32) -> Result<Organization, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 42 -     async fn get_for_update(&mut self, id: i32) -> Result<Organization, Error>;
[INFO] [stdout] 42 +     fn get_for_update(&mut self, id: i32) -> impl std::future::Future<Output = Result<Organization, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn is_member(&mut self, id: i32, uid: i32) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 43 -     async fn is_member(&mut self, id: i32, uid: i32) -> Result<bool, Error>;
[INFO] [stdout] 43 +     fn is_member(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn is_manager(&mut self, id: i32, uid: i32) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 44 -     async fn is_manager(&mut self, id: i32, uid: i32) -> Result<bool, Error>;
[INFO] [stdout] 44 +     fn is_manager(&mut self, id: i32, uid: i32) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     async fn insert(&mut self, uid: i32, question: QuestionInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 48 -     async fn insert(&mut self, uid: i32, question: QuestionInsert) -> Result<i32, Error>;
[INFO] [stdout] 48 +     fn insert(&mut self, uid: i32, question: QuestionInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn query(&mut self, uid: i32, query: QuestionQuery, pagination: Option<Pagination>) -> Result<Vec<Question>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 49 -     async fn query(&mut self, uid: i32, query: QuestionQuery, pagination: Option<Pagination>) -> Result<Vec<Question>, Error>;
[INFO] [stdout] 49 +     fn query(&mut self, uid: i32, query: QuestionQuery, pagination: Option<Pagination>) -> impl std::future::Future<Output = Result<Vec<Question>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     async fn count(&mut self, query: QuestionQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 50 -     async fn count(&mut self, query: QuestionQuery) -> Result<i64, Error>;
[INFO] [stdout] 50 +     fn count(&mut self, query: QuestionQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     async fn get(&mut self, uid: i32, id: i32) -> Result<Question, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 51 -     async fn get(&mut self, uid: i32, id: i32) -> Result<Question, Error>;
[INFO] [stdout] 51 +     fn get(&mut self, uid: i32, id: i32) -> impl std::future::Future<Output = Result<Question, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     async fn delete(&mut self, id: i32) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 52 -     async fn delete(&mut self, id: i32) -> Result<(), Error>;
[INFO] [stdout] 52 +     fn delete(&mut self, id: i32) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     async fn get_organization_id(&mut self, question_id: i32) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 53 -     async fn get_organization_id(&mut self, question_id: i32) -> Result<i32, Error>;
[INFO] [stdout] 53 +     fn get_organization_id(&mut self, question_id: i32) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     async fn is_owner(&mut self, uid: i32, id: i32) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 54 -     async fn is_owner(&mut self, uid: i32, id: i32) -> Result<bool, Error>;
[INFO] [stdout] 54 +     fn is_owner(&mut self, uid: i32, id: i32) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     async fn is_belongs_to_vote(&mut self, vote_id: i32, ids: Vec<i32>) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 55 -     async fn is_belongs_to_vote(&mut self, vote_id: i32, ids: Vec<i32>) -> Result<bool, Error>;
[INFO] [stdout] 55 +     fn is_belongs_to_vote(&mut self, vote_id: i32, ids: Vec<i32>) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     async fn insert_favorite(&mut self, favorite: FavoriteQuestion) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 56 -     async fn insert_favorite(&mut self, favorite: FavoriteQuestion) -> Result<(), Error>;
[INFO] [stdout] 56 +     fn insert_favorite(&mut self, favorite: FavoriteQuestion) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     async fn exists_favorite(&mut self, query: FavoriteQuestionQuery) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 57 -     async fn exists_favorite(&mut self, query: FavoriteQuestionQuery) -> Result<bool, Error>;
[INFO] [stdout] 57 +     fn exists_favorite(&mut self, query: FavoriteQuestionQuery) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn insert(&mut self, mark: QuestionReadMarkInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 61 -     async fn insert(&mut self, mark: QuestionReadMarkInsert) -> Result<i32, Error>;
[INFO] [stdout] 61 +     fn insert(&mut self, mark: QuestionReadMarkInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn update(&mut self, update: QuestionReadMarkUpdate) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 62 -     async fn update(&mut self, update: QuestionReadMarkUpdate) -> Result<(), Error>;
[INFO] [stdout] 62 +     fn update(&mut self, update: QuestionReadMarkUpdate) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     async fn get_by_phone(&mut self, phone: String) -> Result<Option<User>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 66 -     async fn get_by_phone(&mut self, phone: String) -> Result<Option<User>, Error>;
[INFO] [stdout] 66 +     fn get_by_phone(&mut self, phone: String) -> impl std::future::Future<Output = Result<Option<User>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     async fn get(&mut self, id: i32) -> Result<User, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 67 -     async fn get(&mut self, id: i32) -> Result<User, Error>;
[INFO] [stdout] 67 +     fn get(&mut self, id: i32) -> impl std::future::Future<Output = Result<User, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     async fn patch(&mut self, id: i32, user: UserPatch) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 68 -     async fn patch(&mut self, id: i32, user: UserPatch) -> Result<(), Error>;
[INFO] [stdout] 68 +     fn patch(&mut self, id: i32, user: UserPatch) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     async fn insert(&mut self, option: OptionInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 72 -     async fn insert(&mut self, option: OptionInsert) -> Result<i32, Error>;
[INFO] [stdout] 72 +     fn insert(&mut self, option: OptionInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     async fn query(&mut self, query: OptionQuery) -> Result<Vec<Opt>, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 73 -     async fn query(&mut self, query: OptionQuery) -> Result<Vec<Opt>, Error>;
[INFO] [stdout] 73 +     fn query(&mut self, query: OptionQuery) -> impl std::future::Future<Output = Result<Vec<Opt>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     async fn count(&mut self, query: OptionQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 74 -     async fn count(&mut self, query: OptionQuery) -> Result<i64, Error>;
[INFO] [stdout] 74 +     fn count(&mut self, query: OptionQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     async fn count_question(&mut self, query: OptionQuery) -> Result<i64, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 75 -     async fn count_question(&mut self, query: OptionQuery) -> Result<i64, Error>;
[INFO] [stdout] 75 +     fn count_question(&mut self, query: OptionQuery) -> impl std::future::Future<Output = Result<i64, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn is_belongs_to_question(&mut self, question_id: i32, ids: Vec<i32>) -> Result<bool, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 76 -     async fn is_belongs_to_question(&mut self, question_id: i32, ids: Vec<i32>) -> Result<bool, Error>;
[INFO] [stdout] 76 +     fn is_belongs_to_question(&mut self, question_id: i32, ids: Vec<i32>) -> impl std::future::Future<Output = Result<bool, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     async fn insert(&mut self, answer: AnswerInsert) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 80 -     async fn insert(&mut self, answer: AnswerInsert) -> Result<i32, Error>;
[INFO] [stdout] 80 +     fn insert(&mut self, answer: AnswerInsert) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     async fn bulk_insert(&mut self, answers: Vec<AnswerInsert>) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 81 -     async fn bulk_insert(&mut self, answers: Vec<AnswerInsert>) -> Result<(), Error>;
[INFO] [stdout] 81 +     fn bulk_insert(&mut self, answers: Vec<AnswerInsert>) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     async fn delete(&mut self, query: AnswerQuery) -> Result<i32, Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 82 -     async fn delete(&mut self, query: AnswerQuery) -> Result<i32, Error>;
[INFO] [stdout] 82 +     fn delete(&mut self, query: AnswerQuery) -> impl std::future::Future<Output = Result<i32, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     async fn execute_in_transaction<F, R>(&'static self, f: F) -> Result<R, Error>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 89 -     async fn execute_in_transaction<F, R>(&'static self, f: F) -> Result<R, Error>
[INFO] [stdout] 89 +     fn execute_in_transaction<F, R>(&'static self, f: F) -> impl std::future::Future<Output = Result<R, Error>> + Send
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     async fn commit(self) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 97 -     async fn commit(self) -> Result<(), Error>;
[INFO] [stdout] 97 +     fn commit(self) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/core/ports/repository.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     async fn rollback(self) -> Result<(), Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 98 -     async fn rollback(self) -> Result<(), Error>;
[INFO] [stdout] 98 +     fn rollback(self) -> impl std::future::Future<Output = Result<(), Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/core/ports/repository.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     async fn db(&'m self) -> Result<S, Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 106 -     async fn db(&'m self) -> Result<S, Error>;
[INFO] [stdout] 106 +     fn db(&'m self) -> impl std::future::Future<Output = Result<S, Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/core/ports/repository.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn tx(&'m self) -> Result<T, Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 107 -     async fn tx(&'m self) -> Result<T, Error>;
[INFO] [stdout] 107 +     fn tx(&'m self) -> impl std::future::Future<Output = Result<T, Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 68 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 68 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 28.99s
[INFO] running `Command { std: "docker" "inspect" "4fc0f8f390e0bf23b695bf4bc269d99f7fccb55f8a4dfb31ed5596ac9edc8c92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fc0f8f390e0bf23b695bf4bc269d99f7fccb55f8a4dfb31ed5596ac9edc8c92", kill_on_drop: false }`
[INFO] [stdout] 4fc0f8f390e0bf23b695bf4bc269d99f7fccb55f8a4dfb31ed5596ac9edc8c92
[INFO] checking wangjun861205/juju-backend against nightly-2024-02-05+rustflags=-Dunexpected_cfgs+cargoflags=-Zcheck-cfg for check-cfg
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwangjun861205%2Fjuju-backend" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/wangjun861205/juju-backend on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/wangjun861205/juju-backend
[INFO] finished tweaking git repo https://github.com/wangjun861205/juju-backend
[INFO] tweaked toml for git repo https://github.com/wangjun861205/juju-backend written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/wangjun861205/juju-backend already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 093f149b5feeb86e2dd706c0d2fdd2e7ef05269bc0464dbef4ff3e9af7cb26e0
[INFO] running `Command { std: "docker" "start" "-a" "093f149b5feeb86e2dd706c0d2fdd2e7ef05269bc0464dbef4ff3e9af7cb26e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "093f149b5feeb86e2dd706c0d2fdd2e7ef05269bc0464dbef4ff3e9af7cb26e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "093f149b5feeb86e2dd706c0d2fdd2e7ef05269bc0464dbef4ff3e9af7cb26e0", kill_on_drop: false }`
[INFO] [stdout] 093f149b5feeb86e2dd706c0d2fdd2e7ef05269bc0464dbef4ff3e9af7cb26e0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Dunexpected_cfgs" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zcheck-cfg", kill_on_drop: false }`
[INFO] [stdout] 6e548e032601da29708b055efeee611f379190cce546ad700c0f61f3ff09eb40
[INFO] running `Command { std: "docker" "start" "-a" "6e548e032601da29708b055efeee611f379190cce546ad700c0f61f3ff09eb40", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.63
[INFO] [stderr]    Compiling quote v1.0.29
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.140
[INFO] [stderr]    Compiling serde_derive v1.0.156
[INFO] [stderr]    Compiling serde v1.0.156
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling futures-core v0.3.27
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]     Checking lock_api v0.4.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.7
[INFO] [stderr]     Checking bytes v1.4.0
[INFO] [stderr]    Compiling tokio v1.26.0
[INFO] [stderr]    Compiling futures-channel v0.3.27
[INFO] [stderr]     Checking itoa v1.0.6
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]     Checking futures-sink v0.3.27
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling futures-task v0.3.27
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling futures-util v0.3.27
[INFO] [stderr]    Compiling openssl v0.10.45
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking futures-io v0.3.27
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling paste v1.0.12
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.15
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling serde_json v1.0.94
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling thiserror v1.0.39
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling time-macros v0.2.8
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking unicode-bidi v0.3.11
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]     Checking ryu v1.0.13
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking cpufeatures v0.2.5
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]     Checking form_urlencoded v1.1.0
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling mio v0.8.6
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]    Compiling const-random-macro v0.1.15
[INFO] [stderr]     Checking local-waker v0.1.3
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]     Checking digest v0.10.6
[INFO] [stderr]    Compiling io-lifetimes v1.0.6
[INFO] [stderr]     Checking regex-syntax v0.6.28
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]    Compiling zstd-safe v6.0.4+zstd.1.5.4
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling openssl-sys v0.9.80
[INFO] [stderr]    Compiling zstd-sys v2.0.7+zstd.1.5.4
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]     Checking const-random v0.1.15
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling rustix v0.36.9
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking miniz_oxide v0.6.2
[INFO] [stderr]     Checking time v0.3.20
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking url v2.3.1
[INFO] [stderr]     Checking brotli-decompressor v2.3.4
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]    Compiling bytestring v1.3.0
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]     Checking regex v1.7.1
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]     Checking linux-raw-sys v0.1.4
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]     Checking flate2 v1.0.25
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]     Checking brotli v3.3.4
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]     Checking encoding_rs v0.8.32
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.53
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling crc-catalog v2.2.0
[INFO] [stderr]     Checking base64 v0.21.0
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling crc v3.0.1
[INFO] [stderr]    Compiling chrono v0.4.24
[INFO] [stderr]    Compiling dirs v4.0.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]    Compiling hkdf v0.12.3
[INFO] [stderr]    Compiling sqlformat v0.2.1
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling futures-intrusive v0.4.2
[INFO] [stderr]    Compiling tokio-stream v0.1.12
[INFO] [stderr] error: could not compile `tokio` (lib)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/nightly-2024-02-05-x86_64-unknown-linux-gnu/bin/rustc --crate-name tokio --edition=2018 /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.26.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="bytes"' --cfg 'feature="default"' --cfg 'feature="fs"' --cfg 'feature="io-util"' --cfg 'feature="libc"' --cfg 'feature="memchr"' --cfg 'feature="mio"' --cfg 'feature="net"' --cfg 'feature="num_cpus"' --cfg 'feature="rt"' --cfg 'feature="rt-multi-thread"' --cfg 'feature="socket2"' --cfg 'feature="sync"' --cfg 'feature="time"' -Zunstable-options --check-cfg 'cfg(feature, values("bytes", "default", "fs", "full", "io-std", "io-util", "libc", "macros", "memchr", "mio", "net", "num_cpus", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "signal-hook-registry", "socket2", "stats", "sync", "test-util", "time", "tokio-macros", "tracing", "windows-sys"))' -C metadata=e2c924d6cc5b73a4 -C extra-filename=-e2c924d6cc5b73a4 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern bytes=/opt/rustwide/target/debug/deps/libbytes-5bc5e1876a74ab14.rmeta --extern libc=/opt/rustwide/target/debug/deps/liblibc-a9fa505d07bc784e.rmeta --extern memchr=/opt/rustwide/target/debug/deps/libmemchr-7933abbd86912999.rmeta --extern mio=/opt/rustwide/target/debug/deps/libmio-17f41030df24d3d9.rmeta --extern num_cpus=/opt/rustwide/target/debug/deps/libnum_cpus-3831c8b8f9e23a30.rmeta --extern pin_project_lite=/opt/rustwide/target/debug/deps/libpin_project_lite-1e0e52ebbd927825.rmeta --extern socket2=/opt/rustwide/target/debug/deps/libsocket2-3cae0b7bedf64e61.rmeta --cap-lints allow --cap-lints=forbid -Dunexpected_cfgs` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `syn` (lib)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/nightly-2024-02-05-x86_64-unknown-linux-gnu/bin/rustc --crate-name syn --edition=2018 /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.109/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' --cfg 'feature="visit-mut"' -Zunstable-options --check-cfg 'cfg(feature, values("clone-impls", "default", "derive", "extra-traits", "fold", "full", "parsing", "printing", "proc-macro", "quote", "test", "visit", "visit-mut"))' -C metadata=a49688bff35f4bf8 -C extra-filename=-a49688bff35f4bf8 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern proc_macro2=/opt/rustwide/target/debug/deps/libproc_macro2-903f180e75a7b179.rmeta --extern quote=/opt/rustwide/target/debug/deps/libquote-f6e6ea7acc17b72a.rmeta --extern unicode_ident=/opt/rustwide/target/debug/deps/libunicode_ident-25d7c174b9af81f4.rmeta --cap-lints allow --cap-lints=forbid -Dunexpected_cfgs` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "6e548e032601da29708b055efeee611f379190cce546ad700c0f61f3ff09eb40", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e548e032601da29708b055efeee611f379190cce546ad700c0f61f3ff09eb40", kill_on_drop: false }`
[INFO] [stdout] 6e548e032601da29708b055efeee611f379190cce546ad700c0f61f3ff09eb40
