[INFO] fetching crate r2d2_mysql_batis 0.1.4...
[INFO] checking r2d2_mysql_batis-0.1.4 against 65b20a97de33e9e59992793a144aef2950c48c76 for pr-154715
[INFO] extracting crate r2d2_mysql_batis 0.1.4 into /workspace/builds/worker-2-tc2/source
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config
[INFO] started tweaking crates.io crate r2d2_mysql_batis 0.1.4
[INFO] finished tweaking crates.io crate r2d2_mysql_batis 0.1.4
[INFO] tweaked toml for crates.io crate r2d2_mysql_batis 0.1.4 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate r2d2_mysql_batis 0.1.4 on toolchain 65b20a97de33e9e59992793a144aef2950c48c76
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 251 packages to latest compatible versions
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding r2d2_mysql v24.0.0 (available: v28.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115
[INFO] running `Command { std: "docker" "start" "96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115" "/opt/rustwide/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115" "/opt/rustwide/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling clang-sys v1.9.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]     Checking writeable v0.6.4
[INFO] [stderr]     Checking litemap v0.8.3
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling bindgen v0.72.1
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling frunk_core v0.5.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling libz-sys v1.1.29
[INFO] [stderr]     Checking lexical-write-integer v0.8.5
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling rustc-hash v2.1.3
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking lexical-write-float v0.8.5
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling rust_decimal v1.42.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking num-bigint v0.4.8
[INFO] [stderr]    Compiling subprocess v0.2.15
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]     Checking time-core v0.1.9
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]     Checking arrayvec v0.7.8
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking frunk_core v0.4.4
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking lexical v6.1.1
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking bitvec v1.1.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking bigdecimal v0.3.1
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking crossbeam-queue v0.3.13
[INFO] [stderr]     Checking crossbeam-channel v0.5.16
[INFO] [stderr]     Checking uuid v1.24.1
[INFO] [stderr]     Checking saturating v0.1.0
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling mysql v24.0.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking pem v2.0.1
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking bufstream v0.1.4
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking r2d2 v0.8.10
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]    Compiling r2d2_mysql_batis_macros v0.1.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.4
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling frunk_proc_macro_helpers v0.1.5
[INFO] [stderr]    Compiling derive_utils v0.15.1
[INFO] [stderr]     Checking lru v0.10.1
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling frunk_derives v0.4.4
[INFO] [stderr]    Compiling frunk_proc_macros v0.1.5
[INFO] [stderr]    Compiling io-enum v1.2.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking frunk v0.4.4
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking zerovec v0.11.7
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling mysql-common-derive v0.30.2
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking icu_provider v2.3.0
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]    Compiling mysql_common v0.30.6
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking r2d2_mysql v24.0.0
[INFO] [stderr]     Checking r2d2_mysql_batis v0.1.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/service/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn query(query_sql: String) -> Result<Vec<Self>, BoxErr> {
[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] 14 ~     fn query(query_sql: String) -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stdout] 15 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 25 |         }).await?
[INFO] [stdout] 26 ~     } }
[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/service/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn jpa_query(query_sql: String, params: Params) -> Result<Vec<Self>, BoxErr> {
[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] 29 ~     fn jpa_query(query_sql: String, params: Params) -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stdout] 30 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 40 |         }).await?
[INFO] [stdout] 41 ~     } }
[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/service/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn list() -> Result<Vec<Self>, BoxErr> {
[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 ~     fn list() -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stdout] 45 |         Self::query(format!("SELECT * FROM `{}` ORDER BY `{}` ASC", Self::table_name(), Self::primary_key())).await
[INFO] [stdout] 46 ~     } }
[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/service/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn find_by_id(id: u64) -> Result<Option<Self>, BoxErr> {
[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 ~     fn find_by_id(id: u64) -> impl std::future::Future<Output = Result<Option<Self>, BoxErr>> + Send {async {
[INFO] [stdout] 50 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 58 |         }).await?
[INFO] [stdout] 59 ~     } }
[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/service/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn add(mut self) -> Result<Self, BoxErr> {
[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 ~     fn add(mut self) -> impl std::future::Future<Output = Result<Self, BoxErr>> + Send {async {
[INFO] [stdout] 63 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 68 |         }).await?
[INFO] [stdout] 69 ~     } }
[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/service/mod.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     async fn edit(self) -> Result<Self, BoxErr> {
[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 ~     fn edit(self) -> impl std::future::Future<Output = Result<Self, BoxErr>> + Send {async {
[INFO] [stdout] 73 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 77 |         }).await?
[INFO] [stdout] 78 ~     } }
[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/service/mod.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     async fn remove(id: u64) -> Result<(), BoxErr> {
[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 ~     fn remove(id: u64) -> impl std::future::Future<Output = Result<(), BoxErr>> + Send {async {
[INFO] [stdout] 82 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 86 |         }).await?
[INFO] [stdout] 87 ~     } }
[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/service/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn query(query_sql: String) -> Result<Vec<Self>, BoxErr> {
[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] 14 ~     fn query(query_sql: String) -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stdout] 15 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 25 |         }).await?
[INFO] [stdout] 26 ~     } }
[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/service/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn jpa_query(query_sql: String, params: Params) -> Result<Vec<Self>, BoxErr> {
[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] 29 ~     fn jpa_query(query_sql: String, params: Params) -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stdout] 30 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 40 |         }).await?
[INFO] [stdout] 41 ~     } }
[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/service/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn list() -> Result<Vec<Self>, BoxErr> {
[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 ~     fn list() -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stdout] 45 |         Self::query(format!("SELECT * FROM `{}` ORDER BY `{}` ASC", Self::table_name(), Self::primary_key())).await
[INFO] [stdout] 46 ~     } }
[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/service/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn find_by_id(id: u64) -> Result<Option<Self>, BoxErr> {
[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 ~     fn find_by_id(id: u64) -> impl std::future::Future<Output = Result<Option<Self>, BoxErr>> + Send {async {
[INFO] [stdout] 50 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 58 |         }).await?
[INFO] [stdout] 59 ~     } }
[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/service/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn add(mut self) -> Result<Self, BoxErr> {
[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 ~     fn add(mut self) -> impl std::future::Future<Output = Result<Self, BoxErr>> + Send {async {
[INFO] [stdout] 63 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 68 |         }).await?
[INFO] [stdout] 69 ~     } }
[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/service/mod.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     async fn edit(self) -> Result<Self, BoxErr> {
[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 ~     fn edit(self) -> impl std::future::Future<Output = Result<Self, BoxErr>> + Send {async {
[INFO] [stdout] 73 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 77 |         }).await?
[INFO] [stdout] 78 ~     } }
[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/service/mod.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     async fn remove(id: u64) -> Result<(), BoxErr> {
[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 ~     fn remove(id: u64) -> impl std::future::Future<Output = Result<(), BoxErr>> + Send {async {
[INFO] [stdout] 82 |         let mut coon = mysql::get_coon().await?;
[INFO] [stdout] ...
[INFO] [stdout] 86 |         }).await?
[INFO] [stdout] 87 ~     } }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.77s
[INFO] running `Command { std: "docker" "inspect" "96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115", kill_on_drop: false }`
[INFO] [stdout] 96da6b32f98c223ff6fdb480e7b2ad9f2c2f02fbbf18cd7500c59ea56c5e1115
