[INFO] cloning repository https://github.com/donghaic/ad-trader-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/donghaic/ad-trader-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdonghaic%2Fad-trader-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdonghaic%2Fad-trader-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1ea00a88e30aec3290db568f78c28c8d819ff17e
[INFO] checking donghaic/ad-trader-rs against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdonghaic%2Fad-trader-rs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/donghaic/ad-trader-rs
[INFO] finished tweaking git repo https://github.com/donghaic/ad-trader-rs
[INFO] tweaked toml for git repo https://github.com/donghaic/ad-trader-rs written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/donghaic/ad-trader-rs on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/donghaic/ad-trader-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bloom v0.2.0
[INFO] [stderr]   Downloaded openrtb v0.2.0
[INFO] [stderr]   Downloaded tokio-test v0.4.2
[INFO] [stderr]   Downloaded rand v0.3.23
[INFO] [stderr]   Downloaded serde_derive v1.0.139
[INFO] [stderr]   Downloaded tracing-core v0.1.28
[INFO] [stderr]   Downloaded serde v1.0.139
[INFO] [stderr]   Downloaded axum v0.5.12
[INFO] [stderr]   Downloaded reqwest v0.11.11
[INFO] [stderr]   Downloaded serde_json v1.0.82
[INFO] [stderr]   Downloaded tokio v1.20.0
[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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f6a67638530882004155f8cba625394f0db25a7d45bf9cca718c06071ca85331
[INFO] running `Command { std: "docker" "start" "-a" "f6a67638530882004155f8cba625394f0db25a7d45bf9cca718c06071ca85331", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f6a67638530882004155f8cba625394f0db25a7d45bf9cca718c06071ca85331", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6a67638530882004155f8cba625394f0db25a7d45bf9cca718c06071ca85331", kill_on_drop: false }`
[INFO] [stdout] f6a67638530882004155f8cba625394f0db25a7d45bf9cca718c06071ca85331
[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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5427c39d0134b7b4c641308540bc9859fb42c189fbc1ae7b39c60ce594738701
[INFO] running `Command { std: "docker" "start" "-a" "5427c39d0134b7b4c641308540bc9859fb42c189fbc1ae7b39c60ce594738701", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling tokio v1.20.0
[INFO] [stderr]    Compiling futures-task v0.3.21
[INFO] [stderr]    Compiling futures-channel v0.3.21
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]     Checking futures-io v0.3.21
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking tracing-core v0.1.28
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]     Checking http v0.2.8
[INFO] [stderr]    Compiling serde v1.0.139
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling httparse v1.7.1
[INFO] [stderr]    Compiling openssl v0.10.41
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]    Compiling native-tls v0.2.10
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling serde_json v1.0.82
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]    Compiling async-trait v0.1.56
[INFO] [stderr]     Checking tracing v0.1.35
[INFO] [stderr]     Checking unicode-normalization v0.1.21
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]     Checking socket2 v0.4.4
[INFO] [stderr]     Checking mio v0.8.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]    Compiling openssl-sys v0.9.75
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]    Compiling serde_derive v1.0.139
[INFO] [stderr]     Checking tower-layer v0.3.1
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling anyhow v1.0.58
[INFO] [stderr]     Checking http-range-header v0.3.0
[INFO] [stderr]     Checking matchit v0.5.0
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]     Checking sync_wrapper v0.1.1
[INFO] [stderr]     Checking ipnet v2.5.0
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking bloom v0.2.0
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling futures-macro v0.3.21
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.11
[INFO] [stderr]    Compiling phf_macros v0.8.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.3
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]     Checking pin-project v1.0.11
[INFO] [stderr]     Checking async-stream v0.3.3
[INFO] [stderr]     Checking openrtb v0.2.0
[INFO] [stderr]     Checking axum-core v0.2.7
[INFO] [stderr]     Checking futures-executor v0.3.21
[INFO] [stderr]     Checking futures v0.3.21
[INFO] [stderr]     Checking tokio-util v0.7.3
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking tokio-stream v0.1.9
[INFO] [stderr]     Checking tower-http v0.3.4
[INFO] [stderr]     Checking h2 v0.3.13
[INFO] [stderr]     Checking tokio-test v0.4.2
[INFO] [stderr]     Checking hyper v0.14.20
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking axum v0.5.12
[INFO] [stderr]     Checking reqwest v0.11.11
[INFO] [stderr]     Checking ad-trader-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Send` and `Sync`
[INFO] [stdout]  --> src/ad_engine/exchange/bidder.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::marker::{Send, Sync};
[INFO] [stdout]   |                   ^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/ad_engine/exchange/bidder.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TestBidder2` and `TestBidder`
[INFO] [stdout]  --> src/ad_engine/exchange/bidder.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::adapters::test::{TestBidder, TestBidder2};
[INFO] [stdout]   |                             ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Send` and `Sync`
[INFO] [stdout]  --> src/ad_engine/exchange/bidder.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::marker::{Send, Sync};
[INFO] [stdout]   |                   ^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/ad_engine/exchange/bidder.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TestBidder2` and `TestBidder`
[INFO] [stdout]  --> src/ad_engine/exchange/bidder.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::adapters::test::{TestBidder, TestBidder2};
[INFO] [stdout]   |                             ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]  --> src/adapters/bidders/test/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::anyhow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]  --> src/adapters/bidders/test/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::anyhow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::body::Body`
[INFO] [stdout]  --> src/models/context.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use axum::body::Body;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::body::Body`
[INFO] [stdout]  --> src/models/context.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use axum::body::Body;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bidder`
[INFO] [stdout]  --> src/ad_engine/exchange/bidder.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::adapters::bidders::{Bidder, BidderKind};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/ad_engine/filters/black_ip_filter.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 19 |     async fn is_match(&self, ctx: &AdxContext, ad_campaign: &AdCampaign) -> bool {
[INFO] [stdout]    |                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bidder`
[INFO] [stdout]  --> src/ad_engine/exchange/bidder.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::adapters::bidders::{Bidder, BidderKind};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/ad_engine/filters/black_ip_filter.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 19 |     async fn is_match(&self, ctx: &AdxContext, ad_campaign: &AdCampaign) -> bool {
[INFO] [stdout]    |                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requestData`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let requestData = self
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requestData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `http_client`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         http_client: &Client,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_http_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         ctx: &AdxContext,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         ad_campaign: &AdCampaign,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_source`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         ad_source: &AdSource,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/adapters/publishers/adx_api/adx_api.rs:10:47
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn map_to_trader_bid_request(&self, context: &AdxContext) -> anyhow::Result<BidRequest> {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/adapters/publishers/adx_api/adx_api.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         context: &AdxContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/adapters/publishers/adx_api/adx_api.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     async fn decode_price(&self, context: &AdxContext) -> anyhow::Result<f64> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:15:52
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_source`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:15:78
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:28:30
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:28:48
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res_data`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:28:74
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:47:34
[INFO] [stdout]    |
[INFO] [stdout] 47 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:47:52
[INFO] [stdout]    |
[INFO] [stdout] 47 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_source`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:47:78
[INFO] [stdout]    |
[INFO] [stdout] 47 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:59:48
[INFO] [stdout]    |
[INFO] [stdout] 59 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res_data`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:59:74
[INFO] [stdout]    |
[INFO] [stdout] 59 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AdFilter` is never used
[INFO] [stdout]  --> src/ad_engine/filters/mod.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait AdFilter {
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlackIpFilter` is never constructed
[INFO] [stdout]  --> src/ad_engine/filters/black_ip_filter.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct BlackIpFilter {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ad_engine/filters/black_ip_filter.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl BlackIpFilter {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 12 |     fn new(black_ip: BloomFilter) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AdValidator` is never used
[INFO] [stdout]  --> src/ad_engine/validators/mod.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait AdValidator {
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AdaptedBidder` is never used
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | trait AdaptedBidder {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BidderAdapter` is never constructed
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct BidderAdapter {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl BidderAdapter {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 30 |     fn new(bidder: BidderKind) -> BidderAdapter {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `do_request` and `print_type_of` are never used
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl BidderAdapter {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 66 |     async fn do_request(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn print_type_of(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Publisher` is never used
[INFO] [stdout]   --> src/adapters/publishers/mod.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | trait Publisher {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdxApi` is never constructed
[INFO] [stdout]  --> src/adapters/publishers/adx_api/adx_api.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AdxApi {}
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Bidder` is never used
[INFO] [stdout]   --> src/adapters/bidders/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) trait Bidder: Send + Sync {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BidderKind` is never used
[INFO] [stdout]   --> src/adapters/bidders/mod.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) enum BidderKind {
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `make_request` and `make_bid` are never used
[INFO] [stdout]   --> src/adapters/bidders/mod.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl BidderKind {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 24 |     pub async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> Result<HttpRequestData> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> Result<BidResponse> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestBidder` is never constructed
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TestBidder;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestBidder2` is never constructed
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct TestBidder2;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdxContext` is never constructed
[INFO] [stdout]   --> src/models/context.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AdxContext {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpResponseData` is never constructed
[INFO] [stdout]   --> src/models/context.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct HttpResponseData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpRequestData` is never constructed
[INFO] [stdout]   --> src/models/context.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct HttpRequestData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BidderResponse` is never constructed
[INFO] [stdout]   --> src/models/context.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct BidderResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpCallInfo` is never constructed
[INFO] [stdout]   --> src/models/context.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct HttpCallInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdCampaign` is never constructed
[INFO] [stdout]  --> src/models/entities.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct AdCampaign {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdSource` is never constructed
[INFO] [stdout]  --> src/models/entities.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AdSource {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Media` is never constructed
[INFO] [stdout]   --> src/models/entities.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Media {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Adslot` is never constructed
[INFO] [stdout]   --> src/models/entities.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Adslot {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `requestData` should have a snake case name
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let requestData = self
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `request_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requestData`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let requestData = self
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requestData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `http_client`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         http_client: &Client,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_http_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         ctx: &AdxContext,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         ad_campaign: &AdCampaign,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_source`
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         ad_source: &AdSource,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ad_engine/exchange/bidder.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut ctx = AdxContext {
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/adapters/publishers/adx_api/adx_api.rs:10:47
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn map_to_trader_bid_request(&self, context: &AdxContext) -> anyhow::Result<BidRequest> {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/adapters/publishers/adx_api/adx_api.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         context: &AdxContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/adapters/publishers/adx_api/adx_api.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     async fn decode_price(&self, context: &AdxContext) -> anyhow::Result<f64> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:15:52
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_source`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:15:78
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:28:30
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:28:48
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res_data`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:28:74
[INFO] [stdout]    |
[INFO] [stdout] 28 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:47:34
[INFO] [stdout]    |
[INFO] [stdout] 47 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:47:52
[INFO] [stdout]    |
[INFO] [stdout] 47 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_source`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:47:78
[INFO] [stdout]    |
[INFO] [stdout] 47 |     async fn make_request(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, ad_source: &AdSource) -> anyhow::Result<HttpRequestData> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ad_campaign`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:59:48
[INFO] [stdout]    |
[INFO] [stdout] 59 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ad_campaign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res_data`
[INFO] [stdout]   --> src/adapters/bidders/test/mod.rs:59:74
[INFO] [stdout]    |
[INFO] [stdout] 59 |     async fn make_bid(&self, ctx: &AdxContext, ad_campaign: &AdCampaign, res_data: &HttpResponseData) -> anyhow::Result<BidResponse> {
[INFO] [stdout]    |                                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AdValidator` is never used
[INFO] [stdout]  --> src/ad_engine/validators/mod.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait AdValidator {
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_type_of` is never used
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl BidderAdapter {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn print_type_of(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Publisher` is never used
[INFO] [stdout]   --> src/adapters/publishers/mod.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | trait Publisher {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdxApi` is never constructed
[INFO] [stdout]  --> src/adapters/publishers/adx_api/adx_api.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AdxApi {}
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_log` and `media` are never read
[INFO] [stdout]   --> src/models/context.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AdxContext {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub is_log: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 15 |     pub media: Arc<Media>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status_code`, `body`, and `headers` are never read
[INFO] [stdout]   --> src/models/context.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct HttpResponseData {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 20 |     pub status_code: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 21 |     pub body: Option<Bytes>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 22 |     pub headers: Option<HeaderMap>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ad_source_code`, `method`, `uri`, `body`, and `headers` are never read
[INFO] [stdout]   --> src/models/context.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct HttpRequestData {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 26 |     pub ad_source_code: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub method: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 28 |     pub uri: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 29 |     pub body: Option<Bytes>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 30 |     pub headers: Option<HeaderMap>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tag`, `ad_source`, `ad_campaign`, and `bid_response` are never read
[INFO] [stdout]   --> src/models/context.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct BidderResponse {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 35 |     pub tag: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 36 |     pub ad_source: Option<AdSource>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 37 |     pub ad_campaign: Option<AdCampaign>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 38 |     pub bid_response: Option<BidResponse>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BidderResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request` and `process_time` are never read
[INFO] [stdout]   --> src/models/context.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct HttpCallInfo {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 43 |     pub request: HttpRequestData,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 44 |     pub response: HttpResponseData,
[INFO] [stdout] 45 |     pub process_time: time::Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `bid_url`, and `qps` are never read
[INFO] [stdout]   --> src/models/entities.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct AdSource {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     pub id: u32,
[INFO] [stdout]    |         ^^
[INFO] [stdout]  9 |     pub bid_url: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 10 |     pub qps: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AdSource` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `name` are never read
[INFO] [stdout]   --> src/models/entities.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Media {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 15 |     pub id: u32,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 16 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Media` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Adslot` is never constructed
[INFO] [stdout]   --> src/models/entities.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Adslot {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `requestData` should have a snake case name
[INFO] [stdout]   --> src/ad_engine/exchange/bidder.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let requestData = self
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `request_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.51s
[INFO] running `Command { std: "docker" "inspect" "5427c39d0134b7b4c641308540bc9859fb42c189fbc1ae7b39c60ce594738701", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5427c39d0134b7b4c641308540bc9859fb42c189fbc1ae7b39c60ce594738701", kill_on_drop: false }`
[INFO] [stdout] 5427c39d0134b7b4c641308540bc9859fb42c189fbc1ae7b39c60ce594738701
