[INFO] cloning repository https://github.com/naipofo/biedbot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/naipofo/biedbot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnaipofo%2Fbiedbot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnaipofo%2Fbiedbot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cc1b42dfceacf4816c680118e1dc9afeba455cd2 [INFO] checking naipofo/biedbot against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnaipofo%2Fbiedbot" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/naipofo/biedbot [INFO] finished tweaking git repo https://github.com/naipofo/biedbot [INFO] tweaked toml for git repo https://github.com/naipofo/biedbot written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/naipofo/biedbot 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/naipofo/biedbot 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] Downloading crates ... [INFO] [stderr] Downloaded futures-io v0.3.23 [INFO] [stderr] Downloaded futures-macro v0.3.23 [INFO] [stderr] Downloaded teloxide-macros v0.7.0 [INFO] [stderr] Downloaded futures v0.3.23 [INFO] [stderr] Downloaded futures-executor v0.3.23 [INFO] [stderr] Downloaded teloxide v0.11.3 [INFO] [stderr] Downloaded time v0.3.13 [INFO] [stderr] Downloaded teloxide-core v0.8.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] ecf70b6049160db5c4c57676d6f2bb413f707875c140d4e97a53675afb1887fb [INFO] running `Command { std: "docker" "start" "-a" "ecf70b6049160db5c4c57676d6f2bb413f707875c140d4e97a53675afb1887fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ecf70b6049160db5c4c57676d6f2bb413f707875c140d4e97a53675afb1887fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ecf70b6049160db5c4c57676d6f2bb413f707875c140d4e97a53675afb1887fb", kill_on_drop: false }` [INFO] [stdout] ecf70b6049160db5c4c57676d6f2bb413f707875c140d4e97a53675afb1887fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] f6a37b4865c109653a9a15f03e53b8e4d32707451ffd63df7ad644c2fe02af73 [INFO] running `Command { std: "docker" "start" "-a" "f6a37b4865c109653a9a15f03e53b8e4d32707451ffd63df7ad644c2fe02af73", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling futures-channel v0.3.23 [INFO] [stderr] Compiling futures-task v0.3.23 [INFO] [stderr] Compiling tokio v1.20.1 [INFO] [stderr] Compiling futures-util v0.3.23 [INFO] [stderr] Checking mio v0.8.4 [INFO] [stderr] Checking socket2 v0.4.4 [INFO] [stderr] Checking futures-io v0.3.23 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Compiling erasable v1.2.1 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.11 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Compiling crossbeam-epoch v0.9.10 [INFO] [stderr] Compiling either v1.8.0 [INFO] [stderr] Compiling itertools v0.9.0 [INFO] [stderr] Checking chrono v0.4.22 [INFO] [stderr] Compiling cookie v0.16.0 [INFO] [stderr] Checking never v0.1.0 [INFO] [stderr] Checking take_mut v0.2.2 [INFO] [stderr] Checking uuid v1.1.2 [INFO] [stderr] Checking takecell v0.1.1 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Checking time v0.3.13 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Checking rc-box v1.2.0 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking sled v0.34.7 [INFO] [stderr] Compiling darling_core v0.13.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling tokio-macros v1.8.0 [INFO] [stderr] Compiling futures-macro v0.3.23 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling openssl-macros v0.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.32 [INFO] [stderr] Compiling pin-project-internal v1.0.12 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling aquamarine v0.1.12 [INFO] [stderr] Compiling teloxide-macros v0.7.0 [INFO] [stderr] Checking openssl v0.10.41 [INFO] [stderr] Compiling darling_macro v0.13.4 [INFO] [stderr] Compiling darling v0.13.4 [INFO] [stderr] Checking pin-project v1.0.12 [INFO] [stderr] Compiling serde_with_macros v1.5.2 [INFO] [stderr] Checking thiserror v1.0.32 [INFO] [stderr] Checking native-tls v0.2.10 [INFO] [stderr] Checking serde v1.0.144 [INFO] [stderr] Checking futures-executor v0.3.23 [INFO] [stderr] Checking futures v0.3.23 [INFO] [stderr] Checking dptree v0.3.0 [INFO] [stderr] Checking tokio-util v0.7.3 [INFO] [stderr] Checking tokio-native-tls v0.3.0 [INFO] [stderr] Checking tokio-stream v0.1.9 [INFO] [stderr] Checking h2 v0.3.14 [INFO] [stderr] Checking serde_json v1.0.85 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking toml v0.5.9 [INFO] [stderr] Checking hyper v0.14.20 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.11 [INFO] [stderr] Checking teloxide-core v0.8.0 [INFO] [stderr] Checking teloxide v0.11.3 [INFO] [stderr] Checking biedbot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/api.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct ApiError(String); [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `offer_type` and `product_url` are never read [INFO] [stdout] --> src/api.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 217 | struct OfferElement { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 218 | offer_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | product_url: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `has_module_version_changed` and `has_api_version_changed` are never read [INFO] [stdout] --> src/api.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 243 | struct VersionInfoResponce { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 244 | has_module_version_changed: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 245 | has_api_version_changed: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version_info` is never read [INFO] [stdout] --> src/api.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 250 | struct BiedApiResponce { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 251 | version_info: VersionInfoResponce, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/db.rs:66:23 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct StoreError(String); [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `StoreError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/cache.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | for of in api.get_offers(user.auth).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 35 - for of in api.get_offers(user.auth).await { [INFO] [stdout] 35 + while let Ok(of) = api.get_offers(user.auth).await { [INFO] [stdout] | [INFO] [stdout] help: consider unwrapping the `Result` with `?` to iterate over its contents [INFO] [stdout] | [INFO] [stdout] 35 | for of in api.get_offers(user.auth).await? { [INFO] [stdout] | + [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 35 - for of in api.get_offers(user.auth).await { [INFO] [stdout] 35 + if let Ok(of) = api.get_offers(user.auth).await { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/api.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct ApiError(String); [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `offer_type` and `product_url` are never read [INFO] [stdout] --> src/api.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 217 | struct OfferElement { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 218 | offer_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | product_url: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `has_module_version_changed` and `has_api_version_changed` are never read [INFO] [stdout] --> src/api.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 243 | struct VersionInfoResponce { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 244 | has_module_version_changed: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 245 | has_api_version_changed: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version_info` is never read [INFO] [stdout] --> src/api.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 250 | struct BiedApiResponce { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 251 | version_info: VersionInfoResponce, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/db.rs:66:23 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct StoreError(String); [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `StoreError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/cache.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | for of in api.get_offers(user.auth).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 35 - for of in api.get_offers(user.auth).await { [INFO] [stdout] 35 + while let Ok(of) = api.get_offers(user.auth).await { [INFO] [stdout] | [INFO] [stdout] help: consider unwrapping the `Result` with `?` to iterate over its contents [INFO] [stdout] | [INFO] [stdout] 35 | for of in api.get_offers(user.auth).await? { [INFO] [stdout] | + [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 35 - for of in api.get_offers(user.auth).await { [INFO] [stdout] 35 + if let Ok(of) = api.get_offers(user.auth).await { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.19s [INFO] running `Command { std: "docker" "inspect" "f6a37b4865c109653a9a15f03e53b8e4d32707451ffd63df7ad644c2fe02af73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6a37b4865c109653a9a15f03e53b8e4d32707451ffd63df7ad644c2fe02af73", kill_on_drop: false }` [INFO] [stdout] f6a37b4865c109653a9a15f03e53b8e4d32707451ffd63df7ad644c2fe02af73