[INFO] fetching crate push-messaging 0.1.1...
[INFO] building push-messaging-0.1.1 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate push-messaging 0.1.1 into /workspace/builds/worker-0-tc1/source
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate push-messaging 0.1.1
[INFO] finished tweaking crates.io crate push-messaging 0.1.1
[INFO] tweaked toml for crates.io crate push-messaging 0.1.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate push-messaging 0.1.1 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 224 packages to latest compatible versions
[INFO] [stderr]       Adding erased-serde v0.3.31 (available: v0.4.8)
[INFO] [stderr]       Adding pretty_env_logger v0.4.0 (available: v0.5.0)
[INFO] [stderr]       Adding reqwest v0.11.27 (available: v0.12.23)
[INFO] [stderr]       Adding serde_with v2.3.3 (available: v3.14.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pretty_env_logger v0.4.0
[INFO] [stderr]   Downloaded builder-pattern v0.4.2
[INFO] [stderr]   Downloaded argparse v0.2.2
[INFO] [stderr]   Downloaded builder-pattern-macro v0.4.2
[INFO] [stderr]   Downloaded openssl-src v300.5.2+3.5.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d3769524cd3803f82e057479e89ed03d2de202692f9d30dd06d7ce1cf25bf7b1
[INFO] running `Command { std: "docker" "start" "-a" "d3769524cd3803f82e057479e89ed03d2de202692f9d30dd06d7ce1cf25bf7b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d3769524cd3803f82e057479e89ed03d2de202692f9d30dd06d7ce1cf25bf7b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3769524cd3803f82e057479e89ed03d2de202692f9d30dd06d7ce1cf25bf7b1", kill_on_drop: false }`
[INFO] [stdout] d3769524cd3803f82e057479e89ed03d2de202692f9d30dd06d7ce1cf25bf7b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 843d528c6072a4d770f7947ecd3b0452cb2c7bbe994b4638d386ddd6c13308f9
[INFO] running `Command { std: "docker" "start" "-a" "843d528c6072a4d770f7947ecd3b0452cb2c7bbe994b4638d386ddd6c13308f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling erased-serde v0.3.31
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling serde_with_macros v2.3.3
[INFO] [stderr]    Compiling serde_with v2.3.3
[INFO] [stderr]    Compiling builder-pattern-macro v0.4.2
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling builder-pattern v0.4.2
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling push-messaging v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `error::Error`, `fmt`, `rc::Rc`, and `str::FromStr`
[INFO] [stdout]  --> src/client/message.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt, rc::Rc, str::FromStr};
[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 imports: `DateTime`, `Duration`, and `FixedOffset`
[INFO] [stdout]  --> src/client/message.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Duration, FixedOffset};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/client/message.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CONTENT_LENGTH`
[INFO] [stdout]  --> src/fcm/fcm_client.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::{Response, header::{CONTENT_TYPE, CONTENT_LENGTH, AUTHORIZATION, RETRY_AFTER}, StatusCode};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error::Error`, `fmt`, `rc::Rc`, and `str::FromStr`
[INFO] [stdout]  --> src/fcm/message.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt, rc::Rc, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^^^^^^  ^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Duration`, and `FixedOffset`
[INFO] [stdout]  --> src/fcm/message.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Duration, FixedOffset};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/fcm/message.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(async_fn_in_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` 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/client/client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     async fn send_by_token(&self, token: impl Into<String>, message: Message) -> Result<(), ClientError>;
[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] 7 -     async fn send_by_token(&self, token: impl Into<String>, message: Message) -> Result<(), ClientError>;
[INFO] [stdout] 7 +     fn send_by_token(&self, token: impl Into<String>, message: Message) -> impl std::future::Future<Output = Result<(), ClientError>> + 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/client/client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     async fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> Result<(), ClientError>;
[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] 8 -     async fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> Result<(), ClientError>;
[INFO] [stdout] 8 +     fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> impl std::future::Future<Output = Result<(), ClientError>> + Send;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.84s
[INFO] running `Command { std: "docker" "inspect" "843d528c6072a4d770f7947ecd3b0452cb2c7bbe994b4638d386ddd6c13308f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "843d528c6072a4d770f7947ecd3b0452cb2c7bbe994b4638d386ddd6c13308f9", kill_on_drop: false }`
[INFO] [stdout] 843d528c6072a4d770f7947ecd3b0452cb2c7bbe994b4638d386ddd6c13308f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49985301d959133e53fe5bd1b9a5aca2a2d3216b2788900dc54e4dc5c128d54b
[INFO] running `Command { std: "docker" "start" "-a" "49985301d959133e53fe5bd1b9a5aca2a2d3216b2788900dc54e4dc5c128d54b", kill_on_drop: false }`
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling argparse v0.2.2
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling pretty_env_logger v0.4.0
[INFO] [stderr]    Compiling push-messaging v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `error::Error`, `fmt`, `rc::Rc`, and `str::FromStr`
[INFO] [stdout]  --> src/client/message.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt, rc::Rc, str::FromStr};
[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 imports: `DateTime`, `Duration`, and `FixedOffset`
[INFO] [stdout]  --> src/client/message.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Duration, FixedOffset};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/client/message.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CONTENT_LENGTH`
[INFO] [stdout]  --> src/fcm/fcm_client.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::{Response, header::{CONTENT_TYPE, CONTENT_LENGTH, AUTHORIZATION, RETRY_AFTER}, StatusCode};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error::Error`, `fmt`, `rc::Rc`, and `str::FromStr`
[INFO] [stdout]  --> src/fcm/message.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt, rc::Rc, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^^^^^^  ^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Duration`, and `FixedOffset`
[INFO] [stdout]  --> src/fcm/message.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Duration, FixedOffset};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/fcm/message.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(async_fn_in_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` 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/client/client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     async fn send_by_token(&self, token: impl Into<String>, message: Message) -> Result<(), ClientError>;
[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] 7 -     async fn send_by_token(&self, token: impl Into<String>, message: Message) -> Result<(), ClientError>;
[INFO] [stdout] 7 +     fn send_by_token(&self, token: impl Into<String>, message: Message) -> impl std::future::Future<Output = Result<(), ClientError>> + 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/client/client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     async fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> Result<(), ClientError>;
[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] 8 -     async fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> Result<(), ClientError>;
[INFO] [stdout] 8 +     fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> impl std::future::Future<Output = Result<(), ClientError>> + Send;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error::Error`, `fmt`, `rc::Rc`, and `str::FromStr`
[INFO] [stdout]  --> src/client/message.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt, rc::Rc, str::FromStr};
[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 imports: `DateTime`, `Duration`, and `FixedOffset`
[INFO] [stdout]  --> src/client/message.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Duration, FixedOffset};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/client/message.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CONTENT_LENGTH`
[INFO] [stdout]  --> src/fcm/fcm_client.rs:2:48
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::{Response, header::{CONTENT_TYPE, CONTENT_LENGTH, AUTHORIZATION, RETRY_AFTER}, StatusCode};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::Client`
[INFO] [stdout]    --> src/fcm/fcm_client.rs:146:25
[INFO] [stdout]     |
[INFO] [stdout] 146 |     use crate::client::{client::Client, message::Message, notification::Notification};
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error::Error`, `fmt`, `rc::Rc`, and `str::FromStr`
[INFO] [stdout]  --> src/fcm/message.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt, rc::Rc, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^^^^^^  ^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Duration`, and `FixedOffset`
[INFO] [stdout]  --> src/fcm/message.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Duration, FixedOffset};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/fcm/message.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(async_fn_in_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` 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/client/client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     async fn send_by_token(&self, token: impl Into<String>, message: Message) -> Result<(), ClientError>;
[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] 7 -     async fn send_by_token(&self, token: impl Into<String>, message: Message) -> Result<(), ClientError>;
[INFO] [stdout] 7 +     fn send_by_token(&self, token: impl Into<String>, message: Message) -> impl std::future::Future<Output = Result<(), ClientError>> + 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/client/client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     async fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> Result<(), ClientError>;
[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] 8 -     async fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> Result<(), ClientError>;
[INFO] [stdout] 8 +     fn send_by_topic(&self, topic: impl Into<String>, message: Message) -> impl std::future::Future<Output = Result<(), ClientError>> + Send;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.31s
[INFO] running `Command { std: "docker" "inspect" "49985301d959133e53fe5bd1b9a5aca2a2d3216b2788900dc54e4dc5c128d54b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49985301d959133e53fe5bd1b9a5aca2a2d3216b2788900dc54e4dc5c128d54b", kill_on_drop: false }`
[INFO] [stdout] 49985301d959133e53fe5bd1b9a5aca2a2d3216b2788900dc54e4dc5c128d54b
