[INFO] fetching crate r2d2_mysql_batis 0.1.4...
[INFO] testing r2d2_mysql_batis-0.1.4 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681-1
[INFO] extracting crate r2d2_mysql_batis 0.1.4 into /workspace/builds/worker-5-tc2/source
[INFO] removed /workspace/builds/worker-5-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-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate r2d2_mysql_batis 0.1.4 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 256 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: v25.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b62b140e65a316d79eb79fbc8e5288d5464e70561f88e8403941ffc0515aa83b
[INFO] running `Command { std: "docker" "start" "-a" "b62b140e65a316d79eb79fbc8e5288d5464e70561f88e8403941ffc0515aa83b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b62b140e65a316d79eb79fbc8e5288d5464e70561f88e8403941ffc0515aa83b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b62b140e65a316d79eb79fbc8e5288d5464e70561f88e8403941ffc0515aa83b", kill_on_drop: false }`
[INFO] [stdout] b62b140e65a316d79eb79fbc8e5288d5464e70561f88e8403941ffc0515aa83b
[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" "-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb39c1f727ef624212ef52c19099a6332898eb3a20aaab45bbc323f210e0a693
[INFO] running `Command { std: "docker" "start" "-a" "bb39c1f727ef624212ef52c19099a6332898eb3a20aaab45bbc323f210e0a693", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lexical-util v0.8.5
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling bindgen v0.72.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling frunk_core v0.4.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling libz-sys v1.1.23
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling lexical-parse-integer v0.8.6
[INFO] [stderr]    Compiling lexical-write-integer v0.8.5
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling lexical-parse-float v0.8.5
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling lexical-write-float v0.8.5
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling subprocess v0.2.13
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling rust_decimal v1.39.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling lexical-core v0.8.5
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling bigdecimal v0.3.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling frunk_proc_macro_helpers v0.1.4
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling derive_utils v0.15.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling lexical v6.1.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling saturating v0.1.0
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling mysql v24.0.0
[INFO] [stderr]    Compiling pem v2.0.1
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling bufstream v0.1.4
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling lru v0.10.1
[INFO] [stderr]    Compiling r2d2 v0.8.10
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling r2d2_mysql_batis_macros v0.1.0
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling frunk_proc_macros v0.1.4
[INFO] [stderr]    Compiling frunk_derives v0.4.4
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling io-enum v1.2.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling frunk v0.4.4
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling mysql-common-derive v0.30.2
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling mysql_common v0.30.6
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling r2d2_mysql v24.0.0
[INFO] [stderr]    Compiling 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.30s
[INFO] running `Command { std: "docker" "inspect" "bb39c1f727ef624212ef52c19099a6332898eb3a20aaab45bbc323f210e0a693", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb39c1f727ef624212ef52c19099a6332898eb3a20aaab45bbc323f210e0a693", kill_on_drop: false }`
[INFO] [stdout] bb39c1f727ef624212ef52c19099a6332898eb3a20aaab45bbc323f210e0a693
[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" "-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 107ab08adc3b13be98582f68091ad4284ec7b00d465cef56e98d1fdcc52d3511
[INFO] running `Command { std: "docker" "start" "-a" "107ab08adc3b13be98582f68091ad4284ec7b00d465cef56e98d1fdcc52d3511", kill_on_drop: false }`
[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]    Compiling 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.00s
[INFO] running `Command { std: "docker" "inspect" "107ab08adc3b13be98582f68091ad4284ec7b00d465cef56e98d1fdcc52d3511", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "107ab08adc3b13be98582f68091ad4284ec7b00d465cef56e98d1fdcc52d3511", kill_on_drop: false }`
[INFO] [stdout] 107ab08adc3b13be98582f68091ad4284ec7b00d465cef56e98d1fdcc52d3511
[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" "-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 00bb6ba08c9bec9c721eacad108e9bf4e5db63550a5f20e4e71d87edeba40047
[INFO] running `Command { std: "docker" "start" "-a" "00bb6ba08c9bec9c721eacad108e9bf4e5db63550a5f20e4e71d87edeba40047", kill_on_drop: false }`
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/service/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     async fn query(query_sql: String) -> Result<Vec<Self>, BoxErr> {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stderr] 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] [stderr]    |
[INFO] [stderr] 14 ~     fn query(query_sql: String) -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stderr] 15 |         let mut coon = mysql::get_coon().await?;
[INFO] [stderr] ...
[INFO] [stderr] 25 |         }).await?
[INFO] [stderr] 26 ~     } }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/service/mod.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     async fn jpa_query(query_sql: String, params: Params) -> Result<Vec<Self>, BoxErr> {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 29 ~     fn jpa_query(query_sql: String, params: Params) -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stderr] 30 |         let mut coon = mysql::get_coon().await?;
[INFO] [stderr] ...
[INFO] [stderr] 40 |         }).await?
[INFO] [stderr] 41 ~     } }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/service/mod.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 |     async fn list() -> Result<Vec<Self>, BoxErr> {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 44 ~     fn list() -> impl std::future::Future<Output = Result<Vec<Self>, BoxErr>> + Send {async {
[INFO] [stderr] 45 |         Self::query(format!("SELECT * FROM `{}` ORDER BY `{}` ASC", Self::table_name(), Self::primary_key())).await
[INFO] [stderr] 46 ~     } }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/service/mod.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     async fn find_by_id(id: u64) -> Result<Option<Self>, BoxErr> {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 49 ~     fn find_by_id(id: u64) -> impl std::future::Future<Output = Result<Option<Self>, BoxErr>> + Send {async {
[INFO] [stderr] 50 |         let mut coon = mysql::get_coon().await?;
[INFO] [stderr] ...
[INFO] [stderr] 58 |         }).await?
[INFO] [stderr] 59 ~     } }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/service/mod.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     async fn add(mut self) -> Result<Self, BoxErr> {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 62 ~     fn add(mut self) -> impl std::future::Future<Output = Result<Self, BoxErr>> + Send {async {
[INFO] [stderr] 63 |         let mut coon = mysql::get_coon().await?;
[INFO] [stderr] ...
[INFO] [stderr] 68 |         }).await?
[INFO] [stderr] 69 ~     } }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/service/mod.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     async fn edit(self) -> Result<Self, BoxErr> {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 72 ~     fn edit(self) -> impl std::future::Future<Output = Result<Self, BoxErr>> + Send {async {
[INFO] [stderr] 73 |         let mut coon = mysql::get_coon().await?;
[INFO] [stderr] ...
[INFO] [stderr] 77 |         }).await?
[INFO] [stderr] 78 ~     } }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/service/mod.rs:81:5
[INFO] [stderr]    |
[INFO] [stderr] 81 |     async fn remove(id: u64) -> Result<(), BoxErr> {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 81 ~     fn remove(id: u64) -> impl std::future::Future<Output = Result<(), BoxErr>> + Send {async {
[INFO] [stderr] 82 |         let mut coon = mysql::get_coon().await?;
[INFO] [stderr] ...
[INFO] [stderr] 86 |         }).await?
[INFO] [stderr] 87 ~     } }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `r2d2_mysql_batis` (lib) generated 7 warnings
[INFO] [stderr] warning: `r2d2_mysql_batis` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/r2d2_mysql_batis-fbbf40a5951a1e9b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests r2d2_mysql_batis
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "00bb6ba08c9bec9c721eacad108e9bf4e5db63550a5f20e4e71d87edeba40047", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00bb6ba08c9bec9c721eacad108e9bf4e5db63550a5f20e4e71d87edeba40047", kill_on_drop: false }`
[INFO] [stdout] 00bb6ba08c9bec9c721eacad108e9bf4e5db63550a5f20e4e71d87edeba40047
