[INFO] fetching crate r2d2_mysql_batis 0.1.4...
[INFO] testing r2d2_mysql_batis-0.1.4 against nightly-2025-01-18+rustflags=-Zrandomize-layout for randomize-layout-3
[INFO] extracting crate r2d2_mysql_batis 0.1.4 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate r2d2_mysql_batis 0.1.4 on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 236 packages to latest compatible versions
[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" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9825416b6cd62c3aefb419e917610ef6c074aff5a2014b682ac0ffcf49b2ed4a
[INFO] running `Command { std: "docker" "start" "-a" "9825416b6cd62c3aefb419e917610ef6c074aff5a2014b682ac0ffcf49b2ed4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9825416b6cd62c3aefb419e917610ef6c074aff5a2014b682ac0ffcf49b2ed4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9825416b6cd62c3aefb419e917610ef6c074aff5a2014b682ac0ffcf49b2ed4a", kill_on_drop: false }`
[INFO] [stdout] 9825416b6cd62c3aefb419e917610ef6c074aff5a2014b682ac0ffcf49b2ed4a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a7a92c4670fe9795e22656ed15c0148bb6d028d0c412ca954d2f5c4d6eae4d9b
[INFO] running `Command { std: "docker" "start" "-a" "a7a92c4670fe9795e22656ed15c0148bb6d028d0c412ca954d2f5c4d6eae4d9b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling cc v1.2.10
[INFO] [stderr]    Compiling lexical-util v0.8.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling libloading v0.8.6
[INFO] [stderr]    Compiling bindgen v0.71.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling frunk_core v0.4.3
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling rustc-hash v2.1.0
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling lexical-write-integer v0.8.5
[INFO] [stderr]    Compiling lexical-parse-integer v0.8.6
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling lexical-parse-float v0.8.5
[INFO] [stderr]    Compiling lexical-write-float v0.8.5
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling rust_decimal v1.36.0
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.137
[INFO] [stderr]    Compiling cmake v0.1.52
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling subprocess v0.2.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling lexical-core v0.8.5
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling libz-sys v1.1.21
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling log v0.4.25
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling time v0.3.37
[INFO] [stderr]    Compiling bigdecimal v0.3.1
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling lexical v6.1.1
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling crossbeam-channel v0.5.14
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling uuid v1.12.1
[INFO] [stderr]    Compiling mysql v24.0.0
[INFO] [stderr]    Compiling saturating v0.1.0
[INFO] [stderr]    Compiling pem v2.0.1
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling bufstream v0.1.4
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling r2d2 v0.8.10
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling r2d2_mysql_batis_macros v0.1.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling frunk_proc_macro_helpers v0.1.3
[INFO] [stderr]    Compiling derive_utils v0.15.0
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling frunk_derives v0.4.3
[INFO] [stderr]    Compiling frunk_proc_macros v0.1.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling io-enum v1.2.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling frunk v0.4.3
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling mysql-common-derive v0.30.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling lru v0.10.1
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling mysql_common v0.30.6
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[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 31.99s
[INFO] running `Command { std: "docker" "inspect" "a7a92c4670fe9795e22656ed15c0148bb6d028d0c412ca954d2f5c4d6eae4d9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7a92c4670fe9795e22656ed15c0148bb6d028d0c412ca954d2f5c4d6eae4d9b", kill_on_drop: false }`
[INFO] [stdout] a7a92c4670fe9795e22656ed15c0148bb6d028d0c412ca954d2f5c4d6eae4d9b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cc8d8c80409b2d3c100e4085c08f26f40c3c692048c9101e8b33bb2fd8aac0bf
[INFO] running `Command { std: "docker" "start" "-a" "cc8d8c80409b2d3c100e4085c08f26f40c3c692048c9101e8b33bb2fd8aac0bf", 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] [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: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 `test` profile [unoptimized + debuginfo] target(s) in 0.98s
[INFO] running `Command { std: "docker" "inspect" "cc8d8c80409b2d3c100e4085c08f26f40c3c692048c9101e8b33bb2fd8aac0bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc8d8c80409b2d3c100e4085c08f26f40c3c692048c9101e8b33bb2fd8aac0bf", kill_on_drop: false }`
[INFO] [stdout] cc8d8c80409b2d3c100e4085c08f26f40c3c692048c9101e8b33bb2fd8aac0bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a0a19373195c16acb9808522e701a54b25c8ce0632d03464e1323737aaa04592
[INFO] running `Command { std: "docker" "start" "-a" "a0a19373195c16acb9808522e701a54b25c8ce0632d03464e1323737aaa04592", 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.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/r2d2_mysql_batis-f1c7f41114fd7919)
[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" "a0a19373195c16acb9808522e701a54b25c8ce0632d03464e1323737aaa04592", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0a19373195c16acb9808522e701a54b25c8ce0632d03464e1323737aaa04592", kill_on_drop: false }`
[INFO] [stdout] a0a19373195c16acb9808522e701a54b25c8ce0632d03464e1323737aaa04592
