[INFO] fetching crate duo-auth 0.0.1...
[INFO] checking duo-auth-0.0.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate duo-auth 0.0.1 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate duo-auth 0.0.1 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate duo-auth 0.0.1
[INFO] finished tweaking crates.io crate duo-auth 0.0.1
[INFO] tweaked toml for crates.io crate duo-auth 0.0.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded structstruck v0.4.1
[INFO] [stderr]   Downloaded venial v0.5.0
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4f710d39c64a00e8bd3e998b4bbc6f7e6f8c9aee5b10eb2f3decf6b950afd1b8
[INFO] running `Command { std: "docker" "start" "-a" "4f710d39c64a00e8bd3e998b4bbc6f7e6f8c9aee5b10eb2f3decf6b950afd1b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f710d39c64a00e8bd3e998b4bbc6f7e6f8c9aee5b10eb2f3decf6b950afd1b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f710d39c64a00e8bd3e998b4bbc6f7e6f8c9aee5b10eb2f3decf6b950afd1b8", kill_on_drop: false }`
[INFO] [stdout] 4f710d39c64a00e8bd3e998b4bbc6f7e6f8c9aee5b10eb2f3decf6b950afd1b8
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3d31c0c62e5e21dd0ac6e0278d214ff00389edae9f89125e1be88b9ad29a0eb6
[INFO] running `Command { std: "docker" "start" "-a" "3d31c0c62e5e21dd0ac6e0278d214ff00389edae9f89125e1be88b9ad29a0eb6", kill_on_drop: false }`
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]    Compiling venial v0.5.0
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]    Compiling structstruck v0.4.1
[INFO] [stderr]    Compiling darling_core v0.20.8
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]     Checking h2 v0.3.25
[INFO] [stderr]    Compiling darling_macro v0.20.8
[INFO] [stderr]     Checking thiserror v1.0.58
[INFO] [stderr]    Compiling darling v0.20.8
[INFO] [stderr]    Compiling serde_with_macros v3.7.0
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking serde_with v3.7.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking duo-auth v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:128:22
[INFO] [stdout]     |
[INFO] [stdout] 128 |             #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:128:22
[INFO] [stdout]     |
[INFO] [stdout] 128 |             #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:165:22
[INFO] [stdout]     |
[INFO] [stdout] 165 |             #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:165:22
[INFO] [stdout]     |
[INFO] [stdout] 165 |             #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 |         #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 |         #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/response.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/response.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/response.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/response.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]  --> src/response.rs:6:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[serde(tag = "stat", rename_all = "SCREAMING_SNAKE_CASE")]
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/types.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 |     #[strikethrough[derive(Debug, Deserialize)]]
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]  --> src/response.rs:6:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[serde(tag = "stat", rename_all = "SCREAMING_SNAKE_CASE")]
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/types.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 |     #[strikethrough[derive(Debug, Deserialize)]]
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                     #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                     #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]  --> src/types.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     #[strikethrough[serde_as]]
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout]   = note: this error originates in the attribute macro `serde_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]  --> src/types.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     #[strikethrough[serde_as]]
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout]   = note: this error originates in the attribute macro `serde_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[serde(rename_all = "snake_case")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[serde(rename_all = "snake_case")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[serde(tag = "result")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[serde(tag = "result")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/types.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[strikethrough[derive(Deserialize, Debug)]]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> src/types.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout] 1  | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/types.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[strikethrough[derive(Deserialize, Debug)]]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> src/types.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout] 1  | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |             #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |             #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |             #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |             #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/types.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/types.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout] 1   | use serde::Deserialize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/types.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/types.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout] 1   | use serde::Deserialize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/types.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/types.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout] 1   | use serde::Deserialize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/types.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/types.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout] 1   | use serde::Deserialize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/types.rs:248:3
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[serde(rename_all = "snake_case")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/types.rs:248:3
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[serde(rename_all = "snake_case")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_with::NoneAsEmptyString`
[INFO] [stdout]  --> src/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_with::NoneAsEmptyString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_with::NoneAsEmptyString`
[INFO] [stdout]  --> src/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_with::NoneAsEmptyString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AuthResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:198:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Self::send_request_json::<AuthResponse>(&this.client, request)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `AuthResponse`, which is required by `AuthResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `AuthResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AuthResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:198:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Self::send_request_json::<AuthResponse>(&this.client, request)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `AuthResponse`, which is required by `AuthResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `AuthResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AuthStatusResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `AuthStatusResponse`, which is required by `AuthStatusResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `AuthStatusResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AuthStatusResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `AuthStatusResponse`, which is required by `AuthStatusResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `AuthStatusResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CheckResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Self::send_request_json::<CheckResponse>(&this.client, request)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `CheckResponse`, which is required by `CheckResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `CheckResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CheckResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Self::send_request_json::<CheckResponse>(&this.client, request)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `CheckResponse`, which is required by `CheckResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `CheckResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EnrollResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `EnrollResponse`, which is required by `EnrollResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `EnrollResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EnrollResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `EnrollResponse`, which is required by `EnrollResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `EnrollResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EnrollStatusResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `EnrollStatusResponse`, which is required by `EnrollStatusResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `EnrollStatusResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EnrollStatusResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `EnrollStatusResponse`, which is required by `EnrollStatusResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `EnrollStatusResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PingResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:172:39
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Self::send_request_json::<PingResponse>(&this.client, request)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `PingResponse`, which is required by `PingResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `PingResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PreauthResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `PreauthResponse`, which is required by `PreauthResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `PreauthResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DuoResponse<T>: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:269:21
[INFO] [stdout]     |
[INFO] [stdout] 269 |             .json::<DuoResponse<T>>()
[INFO] [stdout]     |              ----   ^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `DuoResponse<T>`, which is required by `DuoResponse<T>: DeserializeOwned`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `DuoResponse<T>` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `Response::json`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/reqwest-0.11.27/src/async_impl/response.rs:237:26
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub async fn json<T: DeserializeOwned>(self) -> crate::Result<T> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ required by this bound in `Response::json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PingResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:172:39
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Self::send_request_json::<PingResponse>(&this.client, request)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `PingResponse`, which is required by `PingResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `PingResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PreauthResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `PreauthResponse`, which is required by `PreauthResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `PreauthResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DuoResponse<T>: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:269:21
[INFO] [stdout]     |
[INFO] [stdout] 269 |             .json::<DuoResponse<T>>()
[INFO] [stdout]     |              ----   ^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `DuoResponse<T>`, which is required by `DuoResponse<T>: DeserializeOwned`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `DuoResponse<T>` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `Response::json`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/reqwest-0.11.27/src/async_impl/response.rs:237:26
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub async fn json<T: DeserializeOwned>(self) -> crate::Result<T> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ required by this bound in `Response::json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 25 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 25 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `duo-auth` (lib) due to 26 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `duo-auth` (lib test) due to 26 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "3d31c0c62e5e21dd0ac6e0278d214ff00389edae9f89125e1be88b9ad29a0eb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d31c0c62e5e21dd0ac6e0278d214ff00389edae9f89125e1be88b9ad29a0eb6", kill_on_drop: false }`
[INFO] [stdout] 3d31c0c62e5e21dd0ac6e0278d214ff00389edae9f89125e1be88b9ad29a0eb6
[INFO] checking duo-auth-0.0.1 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate duo-auth 0.0.1 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate duo-auth 0.0.1 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate duo-auth 0.0.1
[INFO] finished tweaking crates.io crate duo-auth 0.0.1
[INFO] tweaked toml for crates.io crate duo-auth 0.0.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ca3e0d3480487a6973fa0c5fb7105199758fe366274f0bba32596b39b66235e7
[INFO] running `Command { std: "docker" "start" "-a" "ca3e0d3480487a6973fa0c5fb7105199758fe366274f0bba32596b39b66235e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca3e0d3480487a6973fa0c5fb7105199758fe366274f0bba32596b39b66235e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca3e0d3480487a6973fa0c5fb7105199758fe366274f0bba32596b39b66235e7", kill_on_drop: false }`
[INFO] [stdout] ca3e0d3480487a6973fa0c5fb7105199758fe366274f0bba32596b39b66235e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 597f563946a364ed937627ac43a446bfb3eb9027781a92679d20b3abf8d5659a
[INFO] running `Command { std: "docker" "start" "-a" "597f563946a364ed937627ac43a446bfb3eb9027781a92679d20b3abf8d5659a", kill_on_drop: false }`
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]    Compiling venial v0.5.0
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]    Compiling structstruck v0.4.1
[INFO] [stderr]    Compiling darling_core v0.20.8
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]     Checking h2 v0.3.25
[INFO] [stderr]    Compiling darling_macro v0.20.8
[INFO] [stderr]     Checking thiserror v1.0.58
[INFO] [stderr]    Compiling darling v0.20.8
[INFO] [stderr]    Compiling serde_with_macros v3.7.0
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking serde_with v3.7.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking duo-auth v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:128:22
[INFO] [stdout]     |
[INFO] [stdout] 128 |             #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:128:22
[INFO] [stdout]     |
[INFO] [stdout] 128 |             #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:165:22
[INFO] [stdout]     |
[INFO] [stdout] 165 |             #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:165:22
[INFO] [stdout]     |
[INFO] [stdout] 165 |             #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 |         #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/client.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 |         #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/client.rs:4:35
[INFO] [stdout]     |
[INFO] [stdout] 4   | use serde::{de::DeserializeOwned, Deserialize};
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/response.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/response.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/response.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/response.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]  --> src/response.rs:6:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[serde(tag = "stat", rename_all = "SCREAMING_SNAKE_CASE")]
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]  --> src/response.rs:6:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[serde(tag = "stat", rename_all = "SCREAMING_SNAKE_CASE")]
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/types.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 |     #[strikethrough[derive(Debug, Deserialize)]]
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/types.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 |     #[strikethrough[derive(Debug, Deserialize)]]
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                     #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |                     #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]  --> src/types.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     #[strikethrough[serde_as]]
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout]   = note: this error originates in the attribute macro `serde_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]  --> src/types.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     #[strikethrough[serde_as]]
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout]   = note: this error originates in the attribute macro `serde_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[serde(rename_all = "snake_case")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[serde(rename_all = "snake_case")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[serde(tag = "result")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[serde(tag = "result")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/types.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[strikethrough[derive(Deserialize, Debug)]]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> src/types.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout] 1  | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/types.rs:52:28
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[strikethrough[derive(Deserialize, Debug)]]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> src/types.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout] 1  | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |             #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |             #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |             #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]   --> src/types.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |             #![serde(rename_all = "snake_case")]
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/types.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/types.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout] 1   | use serde::Deserialize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/types.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/types.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout] 1   | use serde::Deserialize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/types.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/types.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout] 1   | use serde::Deserialize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/types.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/types.rs:1:5
[INFO] [stdout]     |
[INFO] [stdout] 1   | use serde::Deserialize;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/types.rs:248:3
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[serde(rename_all = "snake_case")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/types.rs:248:3
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[serde(rename_all = "snake_case")]
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_with::NoneAsEmptyString`
[INFO] [stdout]  --> src/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_with::NoneAsEmptyString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_with::NoneAsEmptyString`
[INFO] [stdout]  --> src/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_with::NoneAsEmptyString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AuthResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:198:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Self::send_request_json::<AuthResponse>(&this.client, request)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `AuthResponse`, which is required by `AuthResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `AuthResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AuthResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:198:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Self::send_request_json::<AuthResponse>(&this.client, request)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `AuthResponse`, which is required by `AuthResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `AuthResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AuthStatusResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `AuthStatusResponse`, which is required by `AuthStatusResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `AuthStatusResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AuthStatusResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `AuthStatusResponse`, which is required by `AuthStatusResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `AuthStatusResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CheckResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Self::send_request_json::<CheckResponse>(&this.client, request)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `CheckResponse`, which is required by `CheckResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `CheckResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CheckResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Self::send_request_json::<CheckResponse>(&this.client, request)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `CheckResponse`, which is required by `CheckResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `CheckResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EnrollResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `EnrollResponse`, which is required by `EnrollResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `EnrollResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EnrollResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `EnrollResponse`, which is required by `EnrollResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `EnrollResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EnrollStatusResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `EnrollStatusResponse`, which is required by `EnrollStatusResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `EnrollStatusResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `EnrollStatusResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `EnrollStatusResponse`, which is required by `EnrollStatusResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `EnrollStatusResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PingResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:172:39
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Self::send_request_json::<PingResponse>(&this.client, request)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `PingResponse`, which is required by `PingResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `PingResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PingResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:172:39
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Self::send_request_json::<PingResponse>(&this.client, request)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `PingResponse`, which is required by `PingResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `PingResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PreauthResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `PreauthResponse`, which is required by `PreauthResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `PreauthResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PreauthResponse: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         Self::send_request_json(&this.client, request).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `PreauthResponse`, which is required by `PreauthResponse: DeserializeOwned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `PreauthResponse` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `DuoClient::send_request_json`
[INFO] [stdout]    --> src/client.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     async fn send_request_json<T>(client: &Client, request: Request) -> Result<T, Error>
[INFO] [stdout]     |              ----------------- required by a bound in this associated function
[INFO] [stdout] 263 |     where
[INFO] [stdout] 264 |         T: DeserializeOwned + std::fmt::Debug,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ required by this bound in `DuoClient::send_request_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DuoResponse<T>: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:269:21
[INFO] [stdout]     |
[INFO] [stdout] 269 |             .json::<DuoResponse<T>>()
[INFO] [stdout]     |              ----   ^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `DuoResponse<T>`, which is required by `DuoResponse<T>: DeserializeOwned`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `DuoResponse<T>` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `Response::json`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/reqwest-0.11.27/src/async_impl/response.rs:237:26
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub async fn json<T: DeserializeOwned>(self) -> crate::Result<T> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ required by this bound in `Response::json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DuoResponse<T>: DeserializeOwned` is not satisfied
[INFO] [stdout]    --> src/client.rs:269:21
[INFO] [stdout]     |
[INFO] [stdout] 269 |             .json::<DuoResponse<T>>()
[INFO] [stdout]     |              ----   ^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `DuoResponse<T>`, which is required by `DuoResponse<T>: DeserializeOwned`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `DuoResponse<T>` to implement `DeserializeOwned`
[INFO] [stdout] note: required by a bound in `Response::json`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/reqwest-0.11.27/src/async_impl/response.rs:237:26
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub async fn json<T: DeserializeOwned>(self) -> crate::Result<T> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ required by this bound in `Response::json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 25 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 25 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `duo-auth` (lib) due to 26 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `duo-auth` (lib test) due to 26 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "597f563946a364ed937627ac43a446bfb3eb9027781a92679d20b3abf8d5659a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "597f563946a364ed937627ac43a446bfb3eb9027781a92679d20b3abf8d5659a", kill_on_drop: false }`
[INFO] [stdout] 597f563946a364ed937627ac43a446bfb3eb9027781a92679d20b3abf8d5659a
