[INFO] cloning repository https://github.com/ankit25092003/Eterna_labs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ankit25092003/Eterna_labs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fankit25092003%2FEterna_labs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fankit25092003%2FEterna_labs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dfa42c8f2e586bb715a2593fffa95252ab113eed [INFO] checking ankit25092003/Eterna_labs against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fankit25092003%2FEterna_labs" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ankit25092003/Eterna_labs [INFO] finished tweaking git repo https://github.com/ankit25092003/Eterna_labs [INFO] tweaked toml for git repo https://github.com/ankit25092003/Eterna_labs written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ankit25092003/Eterna_labs on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ankit25092003/Eterna_labs 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434 [INFO] running `Command { std: "docker" "start" "e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Checking log v0.4.30 [INFO] [stderr] Checking http v1.4.1 [INFO] [stderr] Checking litemap v0.8.2 [INFO] [stderr] Checking writeable v0.6.3 [INFO] [stderr] Compiling zerocopy v0.8.50 [INFO] [stderr] Compiling cc v1.2.63 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Checking socket2 v0.6.4 [INFO] [stderr] Checking mio v1.2.1 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking indexmap v2.14.0 [INFO] [stderr] Checking bitflags v2.11.1 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling openssl v0.10.80 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking data-encoding v2.11.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Checking memchr v2.8.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking either v1.16.0 [INFO] [stderr] Checking rustls-pki-types v1.14.1 [INFO] [stderr] Checking tokio v1.52.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Checking uuid v1.23.2 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking zerofrom v0.1.8 [INFO] [stderr] Checking yoke v0.8.2 [INFO] [stderr] Compiling openssl-sys v0.9.116 [INFO] [stderr] Checking zerovec v0.11.6 [INFO] [stderr] Checking zerotrie v0.2.4 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking rayon v1.12.0 [INFO] [stderr] Checking tinystr v0.8.3 [INFO] [stderr] Checking potential_utf v0.1.5 [INFO] [stderr] Checking icu_collections v2.2.0 [INFO] [stderr] Checking icu_locale_core v2.2.0 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking icu_provider v2.2.0 [INFO] [stderr] Checking icu_properties v2.2.0 [INFO] [stderr] Checking icu_normalizer v2.2.0 [INFO] [stderr] Checking sysinfo v0.30.13 [INFO] [stderr] Checking idna_adapter v1.2.2 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking tower-http v0.6.11 [INFO] [stderr] Checking rand v0.8.6 [INFO] [stderr] Checking h2 v0.4.14 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking tungstenite v0.21.0 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking tokio-tungstenite v0.21.0 [INFO] [stderr] Checking hyper v1.10.1 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking eterna_matchmaker v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `SinkExt` [INFO] [stdout] --> src/bin/simulation.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use futures_util::{StreamExt, SinkExt}; [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::sync::Arc` [INFO] [stdout] --> src/model.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [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: `SinkExt` [INFO] [stdout] --> src/bin/simulation.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use futures_util::{StreamExt, SinkExt}; [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::sync::Arc` [INFO] [stdout] --> tests/../src/model.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [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::sync::Arc` [INFO] [stdout] --> src/model.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueueRequest` is never constructed [INFO] [stdout] --> tests/../src/model.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct QueueRequest { [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 `QueueResponse` is never constructed [INFO] [stdout] --> tests/../src/model.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct QueueResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetricsSnapshot` is never constructed [INFO] [stdout] --> tests/../src/model.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `window_start`, `matches_per_second`, `system`, and `pid` are never read [INFO] [stdout] --> tests/../src/metrics.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct EngineMetrics { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub window_start: Mutex, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 17 | pub matches_per_second: Mutex, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub system: Mutex, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 21 | pub pid: Pid, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_periodic_metrics` and `snapshot` are never used [INFO] [stdout] --> tests/../src/metrics.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl EngineMetrics { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn update_periodic_metrics(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn snapshot(&self, active_pool_size: usize) -> MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_player` is never used [INFO] [stdout] --> tests/../src/engine.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Matchmaker { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn remove_player(&self, player_id: &str, skill: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/api.rs:127:46 [INFO] [stdout] | [INFO] [stdout] 127 | let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 127 - let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] 127 + let _ = ws_sender.send(Message::Text(json)).await; [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 127 - let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] 127 + let _ = ws_sender.send(Message::Text(>::into(json))).await; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/api.rs:138:58 [INFO] [stdout] | [INFO] [stdout] 138 | let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 138 - let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] 138 + let _ = ws_sender.send(Message::Text(json)).await; [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 138 - let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] 138 + let _ = ws_sender.send(Message::Text(>::into(json))).await; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/api.rs:166:57 [INFO] [stdout] | [INFO] [stdout] 166 | if ws_sender.send(Message::Text(json.into())).await.is_err() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 166 - if ws_sender.send(Message::Text(json.into())).await.is_err() { [INFO] [stdout] 166 + if ws_sender.send(Message::Text(json)).await.is_err() { [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 166 - if ws_sender.send(Message::Text(json.into())).await.is_err() { [INFO] [stdout] 166 + if ws_sender.send(Message::Text(>::into(json))).await.is_err() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `eterna_matchmaker` (bin "eterna_matchmaker" test) due to 3 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/api.rs:127:46 [INFO] [stdout] | [INFO] [stdout] 127 | let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 127 - let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] 127 + let _ = ws_sender.send(Message::Text(json)).await; [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 127 - let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] 127 + let _ = ws_sender.send(Message::Text(>::into(json))).await; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/api.rs:138:58 [INFO] [stdout] | [INFO] [stdout] 138 | let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 138 - let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] 138 + let _ = ws_sender.send(Message::Text(json)).await; [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 138 - let _ = ws_sender.send(Message::Text(json.into())).await; [INFO] [stdout] 138 + let _ = ws_sender.send(Message::Text(>::into(json))).await; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/api.rs:166:57 [INFO] [stdout] | [INFO] [stdout] 166 | if ws_sender.send(Message::Text(json.into())).await.is_err() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 166 - if ws_sender.send(Message::Text(json.into())).await.is_err() { [INFO] [stdout] 166 + if ws_sender.send(Message::Text(json)).await.is_err() { [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 166 - if ws_sender.send(Message::Text(json.into())).await.is_err() { [INFO] [stdout] 166 + if ws_sender.send(Message::Text(>::into(json))).await.is_err() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `eterna_matchmaker` (bin "eterna_matchmaker") due to 3 previous errors; 1 warning emitted [INFO] [stderr] warning: unused dependency `dashmap` [INFO] [stderr] --> Cargo.toml:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | dashmap = "5.5.3" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `dashmap` [INFO] [stderr] warning: unused dependency `reqwest` [INFO] [stderr] --> Cargo.toml:15:15 [INFO] [stderr] | [INFO] [stderr] 15 | [dependencies.reqwest] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider removing the dependency on `reqwest` [INFO] [stderr] warning: `eterna_matchmaker` (manifest) generated 2 warnings [INFO] running `Command { std: "docker" "inspect" "e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434", kill_on_drop: false }` [INFO] [stdout] e19f65adc85f66f58044f9ed068c55271034f6d3ad78342a9d67b924ece65434