[INFO] fetching crate gamebox 0.1.1... [INFO] testing gamebox-0.1.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] extracting crate gamebox 0.1.1 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate gamebox 0.1.1 [INFO] finished tweaking crates.io crate gamebox 0.1.1 [INFO] tweaked toml for crates.io crate gamebox 0.1.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate gamebox 0.1.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate gamebox 0.1.1 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_ignored v0.1.14 [INFO] [stderr] Downloaded match_token v0.1.0 [INFO] [stderr] Downloaded markup5ever v0.14.1 [INFO] [stderr] Downloaded serde-aux v4.7.0 [INFO] [stderr] Downloaded servo_arc v0.4.1 [INFO] [stderr] Downloaded scraper v0.23.1 [INFO] [stderr] Downloaded lru v0.16.2 [INFO] [stderr] Downloaded ego-tree v0.10.0 [INFO] [stderr] Downloaded dlsite-gamebox v0.3.0 [INFO] [stderr] Downloaded html5ever v0.29.1 [INFO] [stderr] Downloaded selectors v0.26.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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 50b3d825736066dbe5f40ce41c498d8656fed6400d5a9b7b4c2023d177a28c47 [INFO] running `Command { std: "docker" "start" "-a" "50b3d825736066dbe5f40ce41c498d8656fed6400d5a9b7b4c2023d177a28c47", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "50b3d825736066dbe5f40ce41c498d8656fed6400d5a9b7b4c2023d177a28c47", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "50b3d825736066dbe5f40ce41c498d8656fed6400d5a9b7b4c2023d177a28c47", kill_on_drop: false }` [INFO] [stdout] 50b3d825736066dbe5f40ce41c498d8656fed6400d5a9b7b4c2023d177a28c47 [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 89d79c6f2aad1c949bb9c90bc73f250ae2822e68c4a0f63645a80d88a3464e12 [INFO] running `Command { std: "docker" "start" "-a" "89d79c6f2aad1c949bb9c90bc73f250ae2822e68c4a0f63645a80d88a3464e12", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.20 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling cc v1.2.43 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling openssl v0.10.74 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling futf v0.1.5 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling dtoa v1.0.10 [INFO] [stderr] Compiling tendril v0.4.3 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling selectors v0.26.0 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling servo_arc v0.4.1 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling rustls-pki-types v1.13.0 [INFO] [stderr] Compiling markup5ever v0.14.1 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling openssl-sys v0.9.110 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling ego-tree v0.10.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling lru v0.16.2 [INFO] [stderr] Compiling serde_ignored v0.1.14 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling ignore v0.4.24 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling cssparser v0.34.0 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling match_token v0.1.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_properties v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde_with_macros v3.15.1 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling html5ever v0.29.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling serde-aux v4.7.0 [INFO] [stderr] Compiling scraper v0.23.1 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serde_with v3.15.1 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling tracing-subscriber v0.3.20 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling hyper-util v0.1.17 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.24 [INFO] [stderr] Compiling dlsite-gamebox v0.3.0 [INFO] [stderr] Compiling gamebox v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated function `scan::scanner::walk_path`: 请使用 GameScanner::new().scan(path) 代替 [INFO] [stdout] --> src/scan/mod.rs:34:32 [INFO] [stdout] | [INFO] [stdout] 34 | pub use scanner::{GameScanner, walk_path}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cache_ttl` is never read [INFO] [stdout] --> src/providers/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub struct GameDatabaseMiddleware { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 195 | cache_ttl: std::time::Duration, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expires_in` and `token_type` are never read [INFO] [stdout] --> src/providers/igdb_provider.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | struct TwitchTokenResponse { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 11 | access_token: String, [INFO] [stdout] 12 | expires_in: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | token_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TwitchTokenResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/providers/igdb_provider.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct IGDBGame { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 39 | id: Option, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IGDBGame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 08s [INFO] running `Command { std: "docker" "inspect" "89d79c6f2aad1c949bb9c90bc73f250ae2822e68c4a0f63645a80d88a3464e12", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "89d79c6f2aad1c949bb9c90bc73f250ae2822e68c4a0f63645a80d88a3464e12", kill_on_drop: false }` [INFO] [stdout] 89d79c6f2aad1c949bb9c90bc73f250ae2822e68c4a0f63645a80d88a3464e12 [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d0169eba0211e49ce6ea493e8f7a434bf1a6fee42c06a3261715dc61ff5cb946 [INFO] running `Command { std: "docker" "start" "-a" "d0169eba0211e49ce6ea493e8f7a434bf1a6fee42c06a3261715dc61ff5cb946", kill_on_drop: false }` [INFO] [stdout] warning: use of deprecated function `scan::scanner::walk_path`: 请使用 GameScanner::new().scan(path) 代替 [INFO] [stdout] --> src/scan/mod.rs:34:32 [INFO] [stdout] | [INFO] [stdout] 34 | pub use scanner::{GameScanner, walk_path}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cache_ttl` is never read [INFO] [stdout] --> src/providers/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub struct GameDatabaseMiddleware { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 195 | cache_ttl: std::time::Duration, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expires_in` and `token_type` are never read [INFO] [stdout] --> src/providers/igdb_provider.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | struct TwitchTokenResponse { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 11 | access_token: String, [INFO] [stdout] 12 | expires_in: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | token_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TwitchTokenResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling gamebox v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/providers/igdb_provider.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct IGDBGame { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 39 | id: Option, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IGDBGame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `scan::scanner::walk_path`: 请使用 GameScanner::new().scan(path) 代替 [INFO] [stdout] --> src/scan/mod.rs:34:32 [INFO] [stdout] | [INFO] [stdout] 34 | pub use scanner::{GameScanner, walk_path}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cache_ttl` is never read [INFO] [stdout] --> src/providers/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub struct GameDatabaseMiddleware { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 195 | cache_ttl: std::time::Duration, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expires_in` and `token_type` are never read [INFO] [stdout] --> src/providers/igdb_provider.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | struct TwitchTokenResponse { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 11 | access_token: String, [INFO] [stdout] 12 | expires_in: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | token_type: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TwitchTokenResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/providers/igdb_provider.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct IGDBGame { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 39 | id: Option, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `IGDBGame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.41s [INFO] running `Command { std: "docker" "inspect" "d0169eba0211e49ce6ea493e8f7a434bf1a6fee42c06a3261715dc61ff5cb946", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0169eba0211e49ce6ea493e8f7a434bf1a6fee42c06a3261715dc61ff5cb946", kill_on_drop: false }` [INFO] [stdout] d0169eba0211e49ce6ea493e8f7a434bf1a6fee42c06a3261715dc61ff5cb946 [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 168be4ee12b69f8e4ecd12d3381ad267f5d2fa8f5b9b6ca3f9734c8ae0680ffa [INFO] running `Command { std: "docker" "start" "-a" "168be4ee12b69f8e4ecd12d3381ad267f5d2fa8f5b9b6ca3f9734c8ae0680ffa", kill_on_drop: false }` [INFO] [stderr] warning: use of deprecated function `scan::scanner::walk_path`: 请使用 GameScanner::new().scan(path) 代替 [INFO] [stderr] --> src/scan/mod.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | pub use scanner::{GameScanner, walk_path}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `cache_ttl` is never read [INFO] [stderr] --> src/providers/mod.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 192 | pub struct GameDatabaseMiddleware { [INFO] [stderr] | ---------------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 195 | cache_ttl: std::time::Duration, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `expires_in` and `token_type` are never read [INFO] [stderr] --> src/providers/igdb_provider.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 10 | struct TwitchTokenResponse { [INFO] [stderr] | ------------------- fields in this struct [INFO] [stderr] 11 | access_token: String, [INFO] [stderr] 12 | expires_in: u64, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 13 | token_type: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TwitchTokenResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `id` is never read [INFO] [stderr] --> src/providers/igdb_provider.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 38 | struct IGDBGame { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 39 | id: Option, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `IGDBGame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: `gamebox` (lib) generated 4 warnings [INFO] [stderr] warning: `gamebox` (lib test) generated 4 warnings (4 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gamebox-827c22389ad90816) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test providers::thegamesdb_provider::tests::test_thegamesdb_provider_get_by_id ... ok [INFO] [stdout] test providers::thegamesdb_provider::tests::test_thegamesdb_provider_search ... ok [INFO] [stdout] test providers::thegamesdb_provider::tests::test_thegamesdb_provider_priority ... ok [INFO] [stdout] test providers::thegamesdb_provider::tests::test_thegamesdb_provider_supports_game_type ... ok [INFO] [stdout] test scan::game_grouping::tests::test_path_group_result_serialization ... ok [INFO] [stdout] test scan::utils::tests::test_find_common_parent_dir ... ok [INFO] [stdout] test scan::utils::tests::test_extract_version ... ok [INFO] [stdout] test scan::utils::tests::test_extract_search_key ... ok [INFO] [stdout] test providers::igdb_provider::tests::test_igdb_provider_supports_game_type ... ok [INFO] [stdout] test providers::igdb_provider::tests::test_igdb_provider_priority ... ok [INFO] [stdout] test providers::igdb_provider::tests::test_igdb_provider_no_credentials ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s [INFO] [stdout] [INFO] [stderr] Doc-tests gamebox [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test src/scan/utils.rs - scan::utils::extract_search_key (line 81) ... FAILED [INFO] [stdout] test src/scan/mod.rs - scan (line 13) - compile ... FAILED [INFO] [stdout] test src/scan/utils.rs - scan::utils::find_common_parent_dir (line 137) ... FAILED [INFO] [stdout] test src/traits/json_output.rs - traits::json_output::JsonOutput::out_json (line 28) - compile ... FAILED [INFO] [stdout] test src/scan/scanner.rs - scan::scanner::GameScanner (line 24) - compile ... FAILED [INFO] [stdout] test src/scan/scanner.rs - scan::scanner::GameScanner::search (line 134) - compile ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/scan/utils.rs - scan::utils::extract_search_key (line 81) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `scanners` [INFO] [stdout] --> src/scan/utils.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | use scanners::scan::extract_search_key; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `scanners` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `scanners`, use `cargo add scanners` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/scan/mod.rs - scan (line 13) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `scanners` [INFO] [stdout] --> src/scan/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use scanners::scan::GameScanner; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `scanners` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `scanners`, use `cargo add scanners` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/scan/mod.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let game_infos = GameScanner::new() [INFO] [stdout] | ______________________^ [INFO] [stdout] 19 | | .with_dlsite_provider().await [INFO] [stdout] | |_____________________________________^ cannot infer type [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/scan/mod.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let game_infos = GameScanner::new() [INFO] [stdout] | ______________________^ [INFO] [stdout] 19 | | .with_dlsite_provider().await [INFO] [stdout] 20 | | .with_igdb_provider("client_id".to_string(), "client_secret".to_string()).await [INFO] [stdout] | |_______________________________________________________________________________________^ cannot infer type [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/scan/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let game_infos = GameScanner::new() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | println!("找到 {} 个游戏", game_infos.len()); [INFO] [stdout] | ---------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `game_infos` an explicit type [INFO] [stdout] | [INFO] [stdout] 18 | let game_infos: /* Type */ = GameScanner::new() [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/scan/utils.rs - scan::utils::find_common_parent_dir (line 137) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `scanners` [INFO] [stdout] --> src/scan/utils.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | use scanners::scan::find_common_parent_dir; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `scanners` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `scanners`, use `cargo add scanners` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/traits/json_output.rs - traits::json_output::JsonOutput::out_json (line 28) stdout ---- [INFO] [stdout] error[E0277]: `?` couldn't convert the error: `dyn std::error::Error + Send + Sync: Sized` is not satisfied [INFO] [stdout] --> src/traits/json_output.rs:40:38 [INFO] [stdout] | [INFO] [stdout] 40 | game_infos.out_json::<&str>(None)?; // 输出到 ./scan_result.json [INFO] [stdout] | ----------------------^ doesn't have a size known at compile-time [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Box<(dyn std::error::Error + Send + Sync + 'static)>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn std::error::Error + Send + Sync` [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = note: required for `Box` to implement `std::error::Error` [INFO] [stdout] = note: required for `Box` to implement `From>` [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error: `dyn std::error::Error + Send + Sync: Sized` is not satisfied [INFO] [stdout] --> src/traits/json_output.rs:45:47 [INFO] [stdout] | [INFO] [stdout] 43 | let results = GameScanner::new() [INFO] [stdout] | ___________________- [INFO] [stdout] 44 | | .with_dlsite_provider().await [INFO] [stdout] 45 | | .search("game name".to_string()).await?; [INFO] [stdout] | | -^ doesn't have a size known at compile-time [INFO] [stdout] | |______________________________________________| [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Box>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn std::error::Error + Send + Sync` [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = note: required for `Box` to implement `std::error::Error` [INFO] [stdout] = note: required for `Box` to implement `From>` [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error: `dyn std::error::Error + Send + Sync: Sized` is not satisfied [INFO] [stdout] --> src/traits/json_output.rs:47:46 [INFO] [stdout] | [INFO] [stdout] 47 | results.out_json(Some("my_results.json"))?; // 输出到 ./my_results.json [INFO] [stdout] | ---------------------------------^ doesn't have a size known at compile-time [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, Box<(dyn std::error::Error + Send + Sync + 'static)>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn std::error::Error + Send + Sync` [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = note: required for `Box` to implement `std::error::Error` [INFO] [stdout] = note: required for `Box` to implement `From>` [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/scan/scanner.rs - scan::scanner::GameScanner (line 24) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `scanners` [INFO] [stdout] --> src/scan/scanner.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use scanners::scan::GameScanner; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `scanners` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `scanners`, use `cargo add scanners` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/scan/scanner.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | let game_infos = GameScanner::new() [INFO] [stdout] | ______________________^ [INFO] [stdout] 30 | | .with_dlsite_provider().await [INFO] [stdout] | |_____________________________________^ cannot infer type [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/scan/scanner.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | let game_infos = GameScanner::new() [INFO] [stdout] | ______________________^ [INFO] [stdout] 30 | | .with_dlsite_provider().await [INFO] [stdout] 31 | | .with_igdb_provider("client_id".to_string(), "client_secret".to_string()).await [INFO] [stdout] | |_______________________________________________________________________________________^ cannot infer type [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/scan/scanner.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let game_infos = GameScanner::new() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | println!("找到 {} 个游戏", game_infos.len()); [INFO] [stdout] | ---------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `game_infos` an explicit type [INFO] [stdout] | [INFO] [stdout] 29 | let game_infos: /* Type */ = GameScanner::new() [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/scan/scanner.rs - scan::scanner::GameScanner::search (line 134) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `scanners` [INFO] [stdout] --> src/scan/scanner.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | use scanners::scan::GameScanner; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `scanners` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `scanners`, use `cargo add scanners` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/scan/scanner.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | let results = GameScanner::new() [INFO] [stdout] | ___________________^ [INFO] [stdout] 140 | | .with_dlsite_provider().await [INFO] [stdout] | |_____________________________________^ cannot infer type [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/scan/mod.rs - scan (line 13) [INFO] [stdout] src/scan/scanner.rs - scan::scanner::GameScanner (line 24) [INFO] [stdout] src/scan/scanner.rs - scan::scanner::GameScanner::search (line 134) [INFO] [stdout] src/scan/utils.rs - scan::utils::extract_search_key (line 81) [INFO] [stdout] src/scan/utils.rs - scan::utils::find_common_parent_dir (line 137) [INFO] [stdout] src/traits/json_output.rs - traits::json_output::JsonOutput::out_json (line 28) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "168be4ee12b69f8e4ecd12d3381ad267f5d2fa8f5b9b6ca3f9734c8ae0680ffa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "168be4ee12b69f8e4ecd12d3381ad267f5d2fa8f5b9b6ca3f9734c8ae0680ffa", kill_on_drop: false }` [INFO] [stdout] 168be4ee12b69f8e4ecd12d3381ad267f5d2fa8f5b9b6ca3f9734c8ae0680ffa