[INFO] fetching crate easy-sql 0.101.1... [INFO] testing easy-sql-0.101.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate easy-sql 0.101.1 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate easy-sql 0.101.1 [INFO] finished tweaking crates.io crate easy-sql 0.101.1 [INFO] tweaked toml for crates.io crate easy-sql 0.101.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate easy-sql 0.101.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate easy-sql 0.101.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded easy-macros-always-context v1.1.0 [INFO] [stderr] Downloaded pg_escape v0.1.1 [INFO] [stderr] Downloaded easy-sql-build v1.0.1 [INFO] [stderr] Downloaded easy-macros-attributes v0.1.1 [INFO] [stderr] Downloaded easy-macros v1.1.1 [INFO] [stderr] Downloaded easy-macros-add-code v1.0.1 [INFO] [stderr] Downloaded easy-macros-always-context-build v0.2.0 [INFO] [stderr] Downloaded easy-sql-compilation-data v1.0.1 [INFO] [stderr] Downloaded ron v0.10.1 [INFO] [stderr] Downloaded easy-sql-macros v1.1.2 [INFO] [stderr] Downloaded git2 v0.20.4 [INFO] [stderr] Downloaded libgit2-sys v0.18.3+1.9.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 593dbdcc61420fe34019af94549f92514dcc9778cb5dcae66c9fbe816a40bdaf [INFO] running `Command { std: "docker" "start" "-a" "593dbdcc61420fe34019af94549f92514dcc9778cb5dcae66c9fbe816a40bdaf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "593dbdcc61420fe34019af94549f92514dcc9778cb5dcae66c9fbe816a40bdaf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "593dbdcc61420fe34019af94549f92514dcc9778cb5dcae66c9fbe816a40bdaf", kill_on_drop: false }` [INFO] [stdout] 593dbdcc61420fe34019af94549f92514dcc9778cb5dcae66c9fbe816a40bdaf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 81ea0d8d8ce66123a63457a1e9d25555b3a0107e6057c7684dbb89dcbed27f74 [INFO] running `Command { std: "docker" "start" "-a" "81ea0d8d8ce66123a63457a1e9d25555b3a0107e6057c7684dbb89dcbed27f74", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling cc v1.2.55 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling common-path v1.0.0 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling replace_with v0.1.8 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling zmij v1.0.19 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling uuid v1.20.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling convert_case v0.8.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling unty v0.0.4 [INFO] [stderr] Compiling libz-sys v1.1.23 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.18.3+1.9.2 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling toml v0.9.11+spec-1.1.0 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling synstructure v0.13.2 [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 derive-syn-parse v0.2.0 [INFO] [stderr] Compiling easy-macros-context-internal v0.1.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling ron v0.10.1 [INFO] [stderr] Compiling bincode v2.0.1 [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 git2 v0.20.4 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling docify_macros v0.4.1 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling docify v0.4.1 [INFO] [stderr] Compiling easy-macros-helpers v0.1.0 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling easy-macros-all-syntax-cases-helpers v0.1.0 [INFO] [stderr] Compiling easy-macros-anyhow-result v0.1.0 [INFO] [stderr] Compiling easy-macros-add-code v1.0.1 [INFO] [stderr] Compiling easy-macros-all-syntax-cases v0.1.0 [INFO] [stderr] Compiling easy-macros-always-context v1.1.0 [INFO] [stderr] Compiling easy-macros-always-context-build v0.1.0 [INFO] [stderr] Compiling easy-macros-always-context-build v0.2.0 [INFO] [stderr] Compiling easy-macros-attributes-macros v0.1.1 [INFO] [stderr] Compiling easy-macros-attributes v0.1.1 [INFO] [stderr] Compiling easy-macros v1.1.1 [INFO] [stderr] Compiling easy-sql-compilation-data v1.0.1 [INFO] [stderr] Compiling easy-sql-macros v1.1.2 [INFO] [stderr] Compiling easy-sql-build v1.0.1 [INFO] [stderr] Compiling easy-sql v0.101.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `drivers::*` [INFO] [stdout] --> src/lib.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use drivers::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [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/traits/database_setup.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | async fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> anyhow::Result<()>; [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] 11 - async fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> anyhow::Result<()>; [INFO] [stdout] 11 + fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/driver.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | async fn table_exists( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 31 ~ fn table_exists( [INFO] [stdout] 32 | conn: &mut (impl EasyExecutor + Send + Sync), [INFO] [stdout] 33 | name: &'static str, [INFO] [stdout] 34 ~ ) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/driver.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | async fn create_table( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 41 ~ fn create_table( [INFO] [stdout] 42 | conn: &mut (impl EasyExecutor + Send + Sync), [INFO] [stdout] ... [INFO] [stdout] 46 | foreign_keys: HashMap<&'static str, (Vec<&'static str>, Vec<&'static str>, bool)>, [INFO] [stdout] 47 ~ ) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/easy_executor.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | async fn query_setup + Send + Sync>( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 19 ~ fn query_setup + Send + Sync>( [INFO] [stdout] 20 | &mut self, [INFO] [stdout] 21 | sql: O, [INFO] [stdout] 22 ~ ) -> impl std::future::Future> + Send [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/easy_executor.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | async fn query(self, exec: &mut impl EasyExecutor) -> anyhow::Result; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 80 - async fn query(self, exec: &mut impl EasyExecutor) -> anyhow::Result; [INFO] [stdout] 80 + fn query(self, exec: &mut impl EasyExecutor) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s [INFO] running `Command { std: "docker" "inspect" "81ea0d8d8ce66123a63457a1e9d25555b3a0107e6057c7684dbb89dcbed27f74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81ea0d8d8ce66123a63457a1e9d25555b3a0107e6057c7684dbb89dcbed27f74", kill_on_drop: false }` [INFO] [stdout] 81ea0d8d8ce66123a63457a1e9d25555b3a0107e6057c7684dbb89dcbed27f74 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 46837a175739179b92de40b35a8db19a05e6fd89172e519c04de4609db445d83 [INFO] running `Command { std: "docker" "start" "-a" "46837a175739179b92de40b35a8db19a05e6fd89172e519c04de4609db445d83", kill_on_drop: false }` [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling git2 v0.20.4 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling docify_macros v0.4.1 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling docify v0.4.1 [INFO] [stderr] Compiling easy-macros-helpers v0.1.0 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling easy-macros-all-syntax-cases-helpers v0.1.0 [INFO] [stderr] Compiling easy-macros-anyhow-result v0.1.0 [INFO] [stderr] Compiling easy-macros-add-code v1.0.1 [INFO] [stderr] Compiling easy-macros-all-syntax-cases v0.1.0 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling easy-macros-always-context v1.1.0 [INFO] [stderr] Compiling easy-macros-always-context-build v0.1.0 [INFO] [stderr] Compiling easy-macros-always-context-build v0.2.0 [INFO] [stderr] Compiling easy-macros-attributes-macros v0.1.1 [INFO] [stderr] Compiling easy-macros-attributes v0.1.1 [INFO] [stderr] Compiling easy-macros v1.1.1 [INFO] [stderr] Compiling easy-sql-compilation-data v1.0.1 [INFO] [stderr] Compiling easy-sql-macros v1.1.2 [INFO] [stderr] Compiling easy-sql-build v1.0.1 [INFO] [stderr] Compiling easy-sql v0.101.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `drivers::*` [INFO] [stdout] --> src/lib.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use drivers::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `_logger::*` [INFO] [stdout] --> src/tests/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use _logger::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `drivers::*` [INFO] [stdout] --> src/lib.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use drivers::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [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/traits/database_setup.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | async fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> anyhow::Result<()>; [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] 11 - async fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> anyhow::Result<()>; [INFO] [stdout] 11 + fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/driver.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | async fn table_exists( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 31 ~ fn table_exists( [INFO] [stdout] 32 | conn: &mut (impl EasyExecutor + Send + Sync), [INFO] [stdout] 33 | name: &'static str, [INFO] [stdout] 34 ~ ) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/driver.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | async fn create_table( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 41 ~ fn create_table( [INFO] [stdout] 42 | conn: &mut (impl EasyExecutor + Send + Sync), [INFO] [stdout] ... [INFO] [stdout] 46 | foreign_keys: HashMap<&'static str, (Vec<&'static str>, Vec<&'static str>, bool)>, [INFO] [stdout] 47 ~ ) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/easy_executor.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | async fn query_setup + Send + Sync>( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 19 ~ fn query_setup + Send + Sync>( [INFO] [stdout] 20 | &mut self, [INFO] [stdout] 21 | sql: O, [INFO] [stdout] 22 ~ ) -> impl std::future::Future> + Send [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/easy_executor.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | async fn query(self, exec: &mut impl EasyExecutor) -> anyhow::Result; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 80 - async fn query(self, exec: &mut impl EasyExecutor) -> anyhow::Result; [INFO] [stdout] 80 + fn query(self, exec: &mut impl EasyExecutor) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/database_setup.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | async fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> anyhow::Result<()>; [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] 11 - async fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> anyhow::Result<()>; [INFO] [stdout] 11 + fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/driver.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | async fn table_exists( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 31 ~ fn table_exists( [INFO] [stdout] 32 | conn: &mut (impl EasyExecutor + Send + Sync), [INFO] [stdout] 33 | name: &'static str, [INFO] [stdout] 34 ~ ) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/driver.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | async fn create_table( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 41 ~ fn create_table( [INFO] [stdout] 42 | conn: &mut (impl EasyExecutor + Send + Sync), [INFO] [stdout] ... [INFO] [stdout] 46 | foreign_keys: HashMap<&'static str, (Vec<&'static str>, Vec<&'static str>, bool)>, [INFO] [stdout] 47 ~ ) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/easy_executor.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | async fn query_setup + Send + Sync>( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 19 ~ fn query_setup + Send + Sync>( [INFO] [stdout] 20 | &mut self, [INFO] [stdout] 21 | sql: O, [INFO] [stdout] 22 ~ ) -> impl std::future::Future> + Send [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/traits/easy_executor.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | async fn query(self, exec: &mut impl EasyExecutor) -> anyhow::Result; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 80 - async fn query(self, exec: &mut impl EasyExecutor) -> anyhow::Result; [INFO] [stdout] 80 + fn query(self, exec: &mut impl EasyExecutor) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 43.23s [INFO] running `Command { std: "docker" "inspect" "46837a175739179b92de40b35a8db19a05e6fd89172e519c04de4609db445d83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46837a175739179b92de40b35a8db19a05e6fd89172e519c04de4609db445d83", kill_on_drop: false }` [INFO] [stdout] 46837a175739179b92de40b35a8db19a05e6fd89172e519c04de4609db445d83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ddbabd6757e762dac0921e6501fd2e61a84f8d68433b6641f72aa68f2467e550 [INFO] running `Command { std: "docker" "start" "-a" "ddbabd6757e762dac0921e6501fd2e61a84f8d68433b6641f72aa68f2467e550", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `drivers::*` [INFO] [stderr] --> src/lib.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | pub use drivers::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/traits/database_setup.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | async fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> anyhow::Result<()>; [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] 11 - async fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> anyhow::Result<()>; [INFO] [stderr] 11 + fn setup(conn: &mut (impl EasyExecutor + Send + Sync)) -> impl std::future::Future> + Send; [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/traits/driver.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | async fn table_exists( [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] 31 ~ fn table_exists( [INFO] [stderr] 32 | conn: &mut (impl EasyExecutor + Send + Sync), [INFO] [stderr] 33 | name: &'static str, [INFO] [stderr] 34 ~ ) -> impl std::future::Future> + Send; [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/traits/driver.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | async fn create_table( [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] 41 ~ fn create_table( [INFO] [stderr] 42 | conn: &mut (impl EasyExecutor + Send + Sync), [INFO] [stderr] ... [INFO] [stderr] 46 | foreign_keys: HashMap<&'static str, (Vec<&'static str>, Vec<&'static str>, bool)>, [INFO] [stderr] 47 ~ ) -> impl std::future::Future> + Send; [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/traits/easy_executor.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | async fn query_setup + Send + Sync>( [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] 19 ~ fn query_setup + Send + Sync>( [INFO] [stderr] 20 | &mut self, [INFO] [stderr] 21 | sql: O, [INFO] [stderr] 22 ~ ) -> impl std::future::Future> + Send [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/traits/easy_executor.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | async fn query(self, exec: &mut impl EasyExecutor) -> anyhow::Result; [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] 80 - async fn query(self, exec: &mut impl EasyExecutor) -> anyhow::Result; [INFO] [stderr] 80 + fn query(self, exec: &mut impl EasyExecutor) -> impl std::future::Future> + Send; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `_logger::*` [INFO] [stderr] --> src/tests/mod.rs:2:9 [INFO] [stderr] | [INFO] [stderr] 2 | pub use _logger::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `easy-sql` (lib) generated 6 warnings (run `cargo fix --lib -p easy-sql` to apply 1 suggestion) [INFO] [stderr] warning: `easy-sql` (lib test) generated 7 warnings (6 duplicates) (run `cargo fix --lib -p easy-sql --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/easy_sql-5a7e1daea86ebc12) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test tests::_logger::setup_logger ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests easy_sql [INFO] [stdout] [INFO] [stdout] running 45 tests [INFO] [stdout] test src/lib.rs - DatabaseSetup (line 365) ... ignored [INFO] [stdout] test src/lib.rs - DatabaseSetup (line 388) ... ignored [INFO] [stdout] test src/lib.rs - Insert (line 274) ... ignored [INFO] [stdout] test src/lib.rs - Insert (line 300) ... ignored [INFO] [stdout] test src/lib.rs - Output (line 296) ... ignored [INFO] [stdout] test src/lib.rs - Output (line 314) ... ignored [INFO] [stdout] test src/lib.rs - Output (line 332) ... ignored [INFO] [stdout] test src/lib.rs - Output (line 349) ... ignored [INFO] [stdout] test src/lib.rs - Table (line 229) ... ignored [INFO] [stdout] test src/lib.rs - Table (line 256) ... ignored [INFO] [stdout] test src/lib.rs - Table (line 281) ... ignored [INFO] [stdout] test src/lib.rs - Update (line 335) ... ignored [INFO] [stdout] test src/lib.rs - Update (line 358) ... ignored [INFO] [stdout] test src/lib.rs - custom_sql_function (line 419) ... ignored [INFO] [stdout] test src/lib.rs - custom_sql_function (line 431) ... ignored [INFO] [stdout] test src/lib.rs - custom_sql_function (line 440) ... ignored [INFO] [stdout] test src/lib.rs - custom_sql_function (line 455) ... ignored [INFO] [stdout] test src/lib.rs - driver::impl_supports_fn (line 41) ... ignored [INFO] [stdout] test src/lib.rs - driver::impl_supports_fn (line 52) ... ignored [INFO] [stdout] test src/lib.rs - driver::impl_supports_fn_any (line 65) ... ignored [INFO] [stdout] test src/lib.rs - driver::impl_supports_fn_any (line 70) ... ignored [INFO] [stdout] test src/lib.rs - query (line 105) ... ignored [INFO] [stdout] test src/lib.rs - query (line 120) ... ignored [INFO] [stdout] test src/lib.rs - query (line 138) ... ignored [INFO] [stdout] test src/lib.rs - query (line 152) ... ignored [INFO] [stdout] test src/lib.rs - query (line 163) ... ignored [INFO] [stdout] test src/lib.rs - query (line 180) ... ignored [INFO] [stdout] test src/lib.rs - query (line 193) ... ignored [INFO] [stdout] test src/lib.rs - query (line 202) ... ignored [INFO] [stdout] test src/lib.rs - query (line 217) ... ignored [INFO] [stdout] test src/lib.rs - query (line 222) ... ignored [INFO] [stdout] test src/lib.rs - query (line 233) ... ignored [INFO] [stdout] test src/lib.rs - query (line 245) ... ignored [INFO] [stdout] test src/lib.rs - query (line 268) ... ignored [INFO] [stdout] test src/lib.rs - query (line 274) ... ignored [INFO] [stdout] test src/lib.rs - query (line 286) ... ignored [INFO] [stdout] test src/lib.rs - query (line 297) ... ignored [INFO] [stdout] test src/lib.rs - query (line 95) ... ignored [INFO] [stdout] test src/lib.rs - query_lazy (line 188) ... ignored [INFO] [stdout] test src/lib.rs - query_lazy (line 217) ... ignored [INFO] [stdout] test src/lib.rs - query_lazy (line 223) ... ignored [INFO] [stdout] test src/lib.rs - query_lazy (line 235) ... ignored [INFO] [stdout] test src/lib.rs - table_join (line 387) ... ignored [INFO] [stdout] test src/lib.rs - table_join (line 403) ... ignored [INFO] [stdout] test src/lib.rs - table_join (line 422) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 45 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.47s; merged doctests compilation took 0.46s [INFO] running `Command { std: "docker" "inspect" "ddbabd6757e762dac0921e6501fd2e61a84f8d68433b6641f72aa68f2467e550", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ddbabd6757e762dac0921e6501fd2e61a84f8d68433b6641f72aa68f2467e550", kill_on_drop: false }` [INFO] [stdout] ddbabd6757e762dac0921e6501fd2e61a84f8d68433b6641f72aa68f2467e550