[INFO] cloning repository https://github.com/jlind0/cxc-exchange-api [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jlind0/cxc-exchange-api" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjlind0%2Fcxc-exchange-api", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjlind0%2Fcxc-exchange-api'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 00ee85ccee730c75b881b2e49526a8e40c55ceb2 [INFO] checking jlind0/cxc-exchange-api against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjlind0%2Fcxc-exchange-api" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jlind0/cxc-exchange-api on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jlind0/cxc-exchange-api [INFO] finished tweaking git repo https://github.com/jlind0/cxc-exchange-api [INFO] tweaked toml for git repo https://github.com/jlind0/cxc-exchange-api written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jlind0/cxc-exchange-api 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hashlink v0.9.0 [INFO] [stderr] Downloaded tokio-rusqlite v0.5.1 [INFO] [stderr] Downloaded rusqlite v0.31.0 [INFO] [stderr] Downloaded libsqlite3-sys v0.28.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 054a71aa6624fe5da83c63e8acc1982b285feb449ec02925e486bb6e0f8c32f4 [INFO] running `Command { std: "docker" "start" "-a" "054a71aa6624fe5da83c63e8acc1982b285feb449ec02925e486bb6e0f8c32f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "054a71aa6624fe5da83c63e8acc1982b285feb449ec02925e486bb6e0f8c32f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "054a71aa6624fe5da83c63e8acc1982b285feb449ec02925e486bb6e0f8c32f4", kill_on_drop: false }` [INFO] [stdout] 054a71aa6624fe5da83c63e8acc1982b285feb449ec02925e486bb6e0f8c32f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a7a7fc9c879e0547db6be525c074df31a16753e947c6465cfd661a85f36efd1c [INFO] running `Command { std: "docker" "start" "-a" "a7a7fc9c879e0547db6be525c074df31a16753e947c6465cfd661a85f36efd1c", kill_on_drop: false }` [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking zerocopy v0.7.32 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking allocator-api2 v0.2.16 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling thiserror v1.0.58 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling cc v1.0.90 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Compiling multer v2.1.0 [INFO] [stderr] Compiling serde_json v1.0.115 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking data-encoding v2.5.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling syn v2.0.55 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking hashlink v0.9.0 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking encoding_rs v0.8.33 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking socket2 v0.5.6 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking crossbeam-channel v0.5.12 [INFO] [stderr] Checking headers v0.3.9 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Checking tokio v1.36.0 [INFO] [stderr] Checking tungstenite v0.20.1 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking tokio-tungstenite v0.20.1 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking h2 v0.3.25 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking rusqlite v0.31.0 [INFO] [stderr] Checking tokio-rusqlite v0.5.1 [INFO] [stderr] Checking hyper v0.14.28 [INFO] [stderr] Checking warp v0.3.6 [INFO] [stderr] Checking cxc-exchange-api v0.1.0 (/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/engine/commodity.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | async fn init(conn: &Connection) -> 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] 5 - async fn init(conn: &Connection) -> Result; [INFO] [stdout] 5 + fn init(conn: &Connection) -> 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/engine/commodity.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | async fn add_update(&self) -> 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] 6 - async fn add_update(&self) -> Result; [INFO] [stdout] 6 + fn add_update(&self) -> 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/engine/commodity.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | async fn exists(&self) -> 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] 7 - async fn exists(&self) -> Result; [INFO] [stdout] 7 + fn exists(&self) -> 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/engine/commodity.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | async fn hydrate(id: i32) -> 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] 57 - async fn hydrate(id: i32) -> Result>; [INFO] [stdout] 57 + fn hydrate(id: i32) -> 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/engine/commodity.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | async fn get_all() -> 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] 58 - async fn get_all() -> Result>; [INFO] [stdout] 58 + fn get_all() -> 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/engine/commodity.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | async fn init(conn: &Connection) -> 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] 5 - async fn init(conn: &Connection) -> Result; [INFO] [stdout] 5 + fn init(conn: &Connection) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [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/engine/commodity.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | async fn add_update(&self) -> 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] 6 - async fn add_update(&self) -> Result; [INFO] [stdout] 6 + fn add_update(&self) -> 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/engine/commodity.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | async fn exists(&self) -> 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] 7 - async fn exists(&self) -> Result; [INFO] [stdout] 7 + fn exists(&self) -> 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/engine/commodity.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | async fn hydrate(id: i32) -> 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] 57 - async fn hydrate(id: i32) -> Result>; [INFO] [stdout] 57 + fn hydrate(id: i32) -> 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/engine/commodity.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | async fn get_all() -> 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] 58 - async fn get_all() -> Result>; [INFO] [stdout] 58 + fn get_all() -> impl std::future::Future>> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message` is never read [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct CustomError { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 7 | message: String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CustomError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message` is never read [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct CustomError { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 7 | message: String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CustomError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.49s [INFO] running `Command { std: "docker" "inspect" "a7a7fc9c879e0547db6be525c074df31a16753e947c6465cfd661a85f36efd1c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7a7fc9c879e0547db6be525c074df31a16753e947c6465cfd661a85f36efd1c", kill_on_drop: false }` [INFO] [stdout] a7a7fc9c879e0547db6be525c074df31a16753e947c6465cfd661a85f36efd1c [INFO] checking jlind0/cxc-exchange-api against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjlind0%2Fcxc-exchange-api" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jlind0/cxc-exchange-api on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jlind0/cxc-exchange-api [INFO] finished tweaking git repo https://github.com/jlind0/cxc-exchange-api [INFO] tweaked toml for git repo https://github.com/jlind0/cxc-exchange-api written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/jlind0/cxc-exchange-api 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e41896c4175a0a10dcd367175de9bc2fd0cab6e6e9d7340f9457c03ffb2c8933 [INFO] running `Command { std: "docker" "start" "-a" "e41896c4175a0a10dcd367175de9bc2fd0cab6e6e9d7340f9457c03ffb2c8933", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e41896c4175a0a10dcd367175de9bc2fd0cab6e6e9d7340f9457c03ffb2c8933", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e41896c4175a0a10dcd367175de9bc2fd0cab6e6e9d7340f9457c03ffb2c8933", kill_on_drop: false }` [INFO] [stdout] e41896c4175a0a10dcd367175de9bc2fd0cab6e6e9d7340f9457c03ffb2c8933 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1b664c36cd0a8427cc12ad96936c83b61a56dbdd6ff72cfa61d3ceefd6624cc7 [INFO] running `Command { std: "docker" "start" "-a" "1b664c36cd0a8427cc12ad96936c83b61a56dbdd6ff72cfa61d3ceefd6624cc7", kill_on_drop: false }` [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking zerocopy v0.7.32 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking allocator-api2 v0.2.16 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling thiserror v1.0.58 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Compiling cc v1.0.90 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Compiling multer v2.1.0 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking data-encoding v2.5.0 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Compiling serde_json v1.0.115 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Compiling syn v2.0.55 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking encoding_rs v0.8.33 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking socket2 v0.5.6 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking hashlink v0.9.0 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking crossbeam-channel v0.5.12 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking headers v0.3.9 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Checking tokio v1.36.0 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking tungstenite v0.20.1 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking tokio-tungstenite v0.20.1 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking h2 v0.3.25 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking rusqlite v0.31.0 [INFO] [stderr] Checking tokio-rusqlite v0.5.1 [INFO] [stderr] Checking hyper v0.14.28 [INFO] [stderr] Checking warp v0.3.6 [INFO] [stderr] Checking cxc-exchange-api v0.1.0 (/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/engine/commodity.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | async fn init(conn: &Connection) -> 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] 5 - async fn init(conn: &Connection) -> Result; [INFO] [stdout] 5 + fn init(conn: &Connection) -> 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/engine/commodity.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | async fn add_update(&self) -> 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] 6 - async fn add_update(&self) -> Result; [INFO] [stdout] 6 + fn add_update(&self) -> 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/engine/commodity.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | async fn exists(&self) -> 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] 7 - async fn exists(&self) -> Result; [INFO] [stdout] 7 + fn exists(&self) -> 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/engine/commodity.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | async fn hydrate(id: i32) -> 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] 57 - async fn hydrate(id: i32) -> Result>; [INFO] [stdout] 57 + fn hydrate(id: i32) -> 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/engine/commodity.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | async fn get_all() -> 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] 58 - async fn get_all() -> Result>; [INFO] [stdout] 58 + fn get_all() -> impl std::future::Future>> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [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/engine/commodity.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | async fn init(conn: &Connection) -> 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] 5 - async fn init(conn: &Connection) -> Result; [INFO] [stdout] 5 + fn init(conn: &Connection) -> 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/engine/commodity.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | async fn add_update(&self) -> 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] 6 - async fn add_update(&self) -> Result; [INFO] [stdout] 6 + fn add_update(&self) -> 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/engine/commodity.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | async fn exists(&self) -> 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] 7 - async fn exists(&self) -> Result; [INFO] [stdout] 7 + fn exists(&self) -> 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/engine/commodity.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | async fn hydrate(id: i32) -> 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] 57 - async fn hydrate(id: i32) -> Result>; [INFO] [stdout] 57 + fn hydrate(id: i32) -> 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/engine/commodity.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | async fn get_all() -> 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] 58 - async fn get_all() -> Result>; [INFO] [stdout] 58 + fn get_all() -> impl std::future::Future>> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message` is never read [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct CustomError { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 7 | message: String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CustomError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message` is never read [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct CustomError { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 7 | message: String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CustomError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.89s [INFO] running `Command { std: "docker" "inspect" "1b664c36cd0a8427cc12ad96936c83b61a56dbdd6ff72cfa61d3ceefd6624cc7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b664c36cd0a8427cc12ad96936c83b61a56dbdd6ff72cfa61d3ceefd6624cc7", kill_on_drop: false }` [INFO] [stdout] 1b664c36cd0a8427cc12ad96936c83b61a56dbdd6ff72cfa61d3ceefd6624cc7