[INFO] fetching crate infra-io 0.1.0...
[INFO] checking infra-io-0.1.0 against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] extracting crate infra-io 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate infra-io 0.1.0
[INFO] finished tweaking crates.io crate infra-io 0.1.0
[INFO] tweaked toml for crates.io crate infra-io 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate infra-io 0.1.0 on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 145 packages to latest compatible versions
[INFO] [stderr]       Adding reqwest v0.11.27 (available: v0.12.24)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fe416360c39600cf9b564d4735fc9f53da4d7c7ce9551ac2f51f7122e7fc168c
[INFO] running `Command { std: "docker" "start" "-a" "fe416360c39600cf9b564d4735fc9f53da4d7c7ce9551ac2f51f7122e7fc168c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe416360c39600cf9b564d4735fc9f53da4d7c7ce9551ac2f51f7122e7fc168c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe416360c39600cf9b564d4735fc9f53da4d7c7ce9551ac2f51f7122e7fc168c", kill_on_drop: false }`
[INFO] [stdout] fe416360c39600cf9b564d4735fc9f53da4d7c7ce9551ac2f51f7122e7fc168c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 949e6e4f5dc6f30b0dd6fd7f66c50d02f698ed5a5eac3109584612456a1d61d8
[INFO] running `Command { std: "docker" "start" "-a" "949e6e4f5dc6f30b0dd6fd7f66c50d02f698ed5a5eac3109584612456a1d61d8", kill_on_drop: false }`
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-socks v0.5.2
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking infra-io 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/contracts.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     async fn get_api_token(&self, _site_name: &str) -> Result<String, Error>;
[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] 6 -     async fn get_api_token(&self, _site_name: &str) -> Result<String, Error>;
[INFO] [stdout] 6 +     fn get_api_token(&self, _site_name: &str) -> impl std::future::Future<Output = Result<String, Error>> + 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/contracts.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     async fn power_off_sync(&self, _nodes: &[String], _force: bool) -> Result<Value, Error>;
[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] 11 -     async fn power_off_sync(&self, _nodes: &[String], _force: bool) -> Result<Value, Error>;
[INFO] [stdout] 11 +     fn power_off_sync(&self, _nodes: &[String], _force: bool) -> impl std::future::Future<Output = Result<Value, Error>> + 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/contracts.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn power_on_sync(&self, _nodes: &[String]) -> Result<Value, Error>;
[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] 14 -     async fn power_on_sync(&self, _nodes: &[String]) -> Result<Value, Error>;
[INFO] [stdout] 14 +     fn power_on_sync(&self, _nodes: &[String]) -> impl std::future::Future<Output = Result<Value, Error>> + 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/contracts.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn power_reset_sync(&self, _nodes: &[String], _force: bool) -> Result<Value, Error>;
[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] 17 -     async fn power_reset_sync(&self, _nodes: &[String], _force: bool) -> Result<Value, Error>;
[INFO] [stdout] 17 +     fn power_reset_sync(&self, _nodes: &[String], _force: bool) -> impl std::future::Future<Output = Result<Value, Error>> + 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/contracts.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     async fn get_bootparameters(&self, _nodes: &[String]) -> Result<Vec<BootParameters>, Error>;
[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] 21 -     async fn get_bootparameters(&self, _nodes: &[String]) -> Result<Vec<BootParameters>, Error>;
[INFO] [stdout] 21 +     fn get_bootparameters(&self, _nodes: &[String]) -> impl std::future::Future<Output = Result<Vec<BootParameters>, Error>> + 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/contracts.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     async fn update_bootparameters(
[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] 23 ~     fn update_bootparameters(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 |         _boot_parameter: &BootParameters,
[INFO] [stdout] 26 ~     ) -> impl std::future::Future<Output = Result<Vec<Value>, Error>> + 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/contracts.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     async fn get_api_token(&self, _site_name: &str) -> Result<String, Error>;
[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] 6 -     async fn get_api_token(&self, _site_name: &str) -> Result<String, Error>;
[INFO] [stdout] 6 +     fn get_api_token(&self, _site_name: &str) -> impl std::future::Future<Output = Result<String, Error>> + 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/contracts.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     async fn power_off_sync(&self, _nodes: &[String], _force: bool) -> Result<Value, Error>;
[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] 11 -     async fn power_off_sync(&self, _nodes: &[String], _force: bool) -> Result<Value, Error>;
[INFO] [stdout] 11 +     fn power_off_sync(&self, _nodes: &[String], _force: bool) -> impl std::future::Future<Output = Result<Value, Error>> + 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/contracts.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn power_on_sync(&self, _nodes: &[String]) -> Result<Value, Error>;
[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] 14 -     async fn power_on_sync(&self, _nodes: &[String]) -> Result<Value, Error>;
[INFO] [stdout] 14 +     fn power_on_sync(&self, _nodes: &[String]) -> impl std::future::Future<Output = Result<Value, Error>> + 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/contracts.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn power_reset_sync(&self, _nodes: &[String], _force: bool) -> Result<Value, Error>;
[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] 17 -     async fn power_reset_sync(&self, _nodes: &[String], _force: bool) -> Result<Value, Error>;
[INFO] [stdout] 17 +     fn power_reset_sync(&self, _nodes: &[String], _force: bool) -> impl std::future::Future<Output = Result<Value, Error>> + 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/contracts.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     async fn get_bootparameters(&self, _nodes: &[String]) -> Result<Vec<BootParameters>, Error>;
[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] 21 -     async fn get_bootparameters(&self, _nodes: &[String]) -> Result<Vec<BootParameters>, Error>;
[INFO] [stdout] 21 +     fn get_bootparameters(&self, _nodes: &[String]) -> impl std::future::Future<Output = Result<Vec<BootParameters>, Error>> + 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/contracts.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     async fn update_bootparameters(
[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] 23 ~     fn update_bootparameters(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 |         _boot_parameter: &BootParameters,
[INFO] [stdout] 26 ~     ) -> impl std::future::Future<Output = Result<Vec<Value>, Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.15s
[INFO] running `Command { std: "docker" "inspect" "949e6e4f5dc6f30b0dd6fd7f66c50d02f698ed5a5eac3109584612456a1d61d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "949e6e4f5dc6f30b0dd6fd7f66c50d02f698ed5a5eac3109584612456a1d61d8", kill_on_drop: false }`
[INFO] [stdout] 949e6e4f5dc6f30b0dd6fd7f66c50d02f698ed5a5eac3109584612456a1d61d8
