[INFO] cloning repository https://github.com/HarrisDePerceptron/rust-axum-template [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HarrisDePerceptron/rust-axum-template" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHarrisDePerceptron%2Frust-axum-template", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHarrisDePerceptron%2Frust-axum-template'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1434f2705df328a64642a8d1a4f9d888ec62a3f4 [INFO] testing HarrisDePerceptron/rust-axum-template against master#ff2c56344c764af598ad33027e9c7a48881808ef for pr-118825 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHarrisDePerceptron%2Frust-axum-template" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/HarrisDePerceptron/rust-axum-template on toolchain ff2c56344c764af598ad33027e9c7a48881808ef [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ff2c56344c764af598ad33027e9c7a48881808ef" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/HarrisDePerceptron/rust-axum-template [INFO] finished tweaking git repo https://github.com/HarrisDePerceptron/rust-axum-template [INFO] tweaked toml for git repo https://github.com/HarrisDePerceptron/rust-axum-template written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/HarrisDePerceptron/rust-axum-template 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" "+ff2c56344c764af598ad33027e9c7a48881808ef" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: dependency (reqwest) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.reqwest.verredission [INFO] [stderr] warning: dependency (uuid) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.uuid.vesion [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] testing HarrisDePerceptron/rust-axum-template against try#5e4273472e1b2f223618a9b3def795f6224f241d for pr-118825 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHarrisDePerceptron%2Frust-axum-template" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/HarrisDePerceptron/rust-axum-template on toolchain 5e4273472e1b2f223618a9b3def795f6224f241d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/HarrisDePerceptron/rust-axum-template [INFO] finished tweaking git repo https://github.com/HarrisDePerceptron/rust-axum-template [INFO] tweaked toml for git repo https://github.com/HarrisDePerceptron/rust-axum-template written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/HarrisDePerceptron/rust-axum-template 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" "+5e4273472e1b2f223618a9b3def795f6224f241d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: dependency (reqwest) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.reqwest.verredission [INFO] [stderr] warning: dependency (uuid) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.uuid.vesion [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bson v2.7.0 [INFO] [stderr] Downloaded mongodb v2.7.0 [INFO] [stderr] Downloaded future-utils v0.12.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1b8866a9c09e5c24158273d75c3631017c9bcc3894dee1f1fbe2306dcd48159a [INFO] running `Command { std: "docker" "start" "-a" "1b8866a9c09e5c24158273d75c3631017c9bcc3894dee1f1fbe2306dcd48159a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1b8866a9c09e5c24158273d75c3631017c9bcc3894dee1f1fbe2306dcd48159a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b8866a9c09e5c24158273d75c3631017c9bcc3894dee1f1fbe2306dcd48159a", kill_on_drop: false }` [INFO] [stdout] 1b8866a9c09e5c24158273d75c3631017c9bcc3894dee1f1fbe2306dcd48159a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a94611904c774b3da53817038c5af430ef34780bcfca06c8fd9eaab56279e8ed [INFO] running `Command { std: "docker" "start" "-a" "a94611904c774b3da53817038c5af430ef34780bcfca06c8fd9eaab56279e8ed", kill_on_drop: false }` [INFO] [stderr] warning: dependency (reqwest) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.reqwest.verredission [INFO] [stderr] warning: dependency (uuid) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.uuid.vesion [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling memchr v2.6.3 [INFO] [stderr] Compiling syn v2.0.31 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling futures-io v0.3.28 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling futures v0.1.31 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling thiserror v1.0.48 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling tokio-executor v0.1.10 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling openssl-sys v0.9.93 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling url v2.4.1 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling net2 v0.2.39 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling lock_api v0.3.4 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling serde_json v1.0.106 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling hashbrown v0.14.0 [INFO] [stderr] Compiling tokio-sync v0.1.8 [INFO] [stderr] Compiling data-encoding v2.4.0 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling indexmap v2.0.1 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling time-macros v0.2.14 [INFO] [stderr] Compiling darling_core v0.13.4 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling http-body v0.4.5 [INFO] [stderr] Compiling base64 v0.21.4 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling deranged v0.3.8 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling crossbeam-deque v0.7.4 [INFO] [stderr] Compiling tokio-codec v0.1.2 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling ahash v0.8.3 [INFO] [stderr] Compiling num-bigint v0.4.4 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling thiserror-impl v1.0.48 [INFO] [stderr] Compiling async-trait v0.1.73 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling darling_macro v0.13.4 [INFO] [stderr] Compiling tokio v1.32.0 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling time v0.3.28 [INFO] [stderr] Compiling rustls v0.21.7 [INFO] [stderr] Compiling tap v1.0.1 [INFO] [stderr] Compiling matches v0.1.10 [INFO] [stderr] Compiling match_cfg v0.1.0 [INFO] [stderr] Compiling rustix v0.38.13 [INFO] [stderr] Compiling hostname v0.3.1 [INFO] [stderr] Compiling idna v0.2.3 [INFO] [stderr] Compiling wyz v0.5.1 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling darling v0.13.4 [INFO] [stderr] Compiling enum-as-inner v0.4.0 [INFO] [stderr] Compiling tokio-threadpool v0.1.18 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling rustls-webpki v0.101.6 [INFO] [stderr] Compiling sct v0.7.0 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling sha1 v0.10.5 [INFO] [stderr] Compiling axum-core v0.3.4 [INFO] [stderr] Compiling rustc_version_runtime v0.2.1 [INFO] [stderr] Compiling aho-corasick v1.0.5 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling linked-hash-map v0.5.6 [INFO] [stderr] Compiling funty v2.0.0 [INFO] [stderr] Compiling futures-executor v0.3.28 [INFO] [stderr] Compiling tokio-util v0.7.8 [INFO] [stderr] Compiling tower-layer v0.3.2 [INFO] [stderr] Compiling gimli v0.28.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.7 [INFO] [stderr] Compiling h2 v0.3.21 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling resolv-conf v0.7.0 [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling trust-dns-proto v0.21.2 [INFO] [stderr] Compiling bitvec v1.0.1 [INFO] [stderr] Compiling addr2line v0.21.0 [INFO] [stderr] Compiling chrono v0.4.31 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_bytes v0.11.12 [INFO] [stderr] Compiling uuid v1.4.1 [INFO] [stderr] Compiling regex-automata v0.3.8 [INFO] [stderr] Compiling miniz_oxide v0.7.1 [INFO] [stderr] Compiling lru-cache v0.1.2 [INFO] [stderr] Compiling tokio-uds v0.2.7 [INFO] [stderr] Compiling tokio-fs v0.1.7 [INFO] [stderr] Compiling serde_with_macros v1.5.2 [INFO] [stderr] Compiling tokio-udp v0.1.6 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling axum v0.6.20 [INFO] [stderr] Compiling tokio-timer v0.2.13 [INFO] [stderr] Compiling tokio-current-thread v0.1.7 [INFO] [stderr] Compiling hyper v0.14.27 [INFO] [stderr] Compiling object v0.32.1 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling base64ct v1.6.0 [INFO] [stderr] Compiling rustc-demangle v0.1.23 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling finl_unicode v1.2.0 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling stringprep v0.1.4 [INFO] [stderr] Compiling bson v2.7.0 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling serde_with v1.14.0 [INFO] [stderr] Compiling simple_asn1 v0.6.2 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling regex v1.9.5 [INFO] [stderr] Compiling trust-dns-resolver v0.21.2 [INFO] [stderr] Compiling serde_path_to_error v0.1.14 [INFO] [stderr] Compiling is-terminal v0.4.9 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling combine v4.6.6 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling tokio-retry v0.3.0 [INFO] [stderr] Compiling futures v0.3.28 [INFO] [stderr] Compiling pem v1.1.1 [INFO] [stderr] Compiling typed-builder v0.10.0 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling strum_macros v0.25.2 [INFO] [stderr] Compiling rustls-pemfile v1.0.3 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling sha-1 v0.10.1 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling pbkdf2 v0.11.0 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling unwrap v1.2.1 [INFO] [stderr] Compiling termcolor v1.2.0 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling matchit v0.7.2 [INFO] [stderr] Compiling arc-swap v1.6.0 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling sha1_smol v1.0.0 [INFO] [stderr] Compiling take_mut v0.2.2 [INFO] [stderr] Compiling future-utils v0.12.1 [INFO] [stderr] Compiling env_logger v0.10.0 [INFO] [stderr] Compiling argon2 v0.5.2 [INFO] [stderr] Compiling reqwest v0.11.22 [INFO] [stderr] Compiling jsonwebtoken v8.3.0 [INFO] [stderr] Compiling strum v0.25.0 [INFO] [stderr] Compiling mongodb v2.7.0 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling redis v0.23.3 [INFO] [stderr] Compiling rust-axum v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `fmt::Debug` [INFO] [stdout] --> src/app/dao.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{convert::From, fmt::Debug}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections` [INFO] [stdout] --> src/app/user/user_dao.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoResponse`, `Query`, `Response`, `http::StatusCode` [INFO] [stdout] --> src/app/user/user_routes.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | extract::{Json, Path, Query, State}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 3 | http::HeaderMap, [INFO] [stdout] 4 | http::StatusCode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | response::{IntoResponse, Response}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/app/user/user_routes.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::anyhow as error` [INFO] [stdout] --> src/app/user/user_routes.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use anyhow::anyhow as error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/app/user/user_routes.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/server.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::server_errors` [INFO] [stdout] --> src/server_errors.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::server_errors; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/websocket/websocket_handler.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::websocket::websocket_server::WebsocketServer` [INFO] [stdout] --> src/websocket/websocket_handler.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::websocket::websocket_server::WebsocketServer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `redis_pubsub::RedisPubsubAdapter` [INFO] [stdout] --> src/websocket/websocket_server.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use super::{redis_pubsub::RedisPubsubAdapter, socket::AppSocket}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SplitStream` [INFO] [stdout] --> src/websocket/messages.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | stream::{SplitSink, SplitStream, StreamExt}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `app::application_dao::ApplicationDao`, `websocket::room` [INFO] [stdout] --> src/websocket/messages.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | app::application_dao::ApplicationDao, application_factory::ApplicationFactory, websocket::room, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers` [INFO] [stdout] --> src/app/user/user_routes.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | headers: HeaderMap, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers` [INFO] [stdout] --> src/app/user/user_routes.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | headers: HeaderMap, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `msg` is assigned to, but never used [INFO] [stdout] --> src/websocket/socket.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | let mut msg = String::from("Unknown reason for closing"); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_msg` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `msg` is never read [INFO] [stdout] --> src/websocket/socket.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | msg = format!("Closing... code: {}, reason: {}", f.code, f.reason); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers_str` [INFO] [stdout] --> src/websocket/websocket_handler.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let headers_str = format!("here are the header: {:?}", headers); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::app::dao::DaoObj` [INFO] [stdout] --> src/app/user/user_routes.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::app::dao::DaoObj; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StreamExt` [INFO] [stdout] --> src/websocket/messages.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | stream::{SplitSink, SplitStream, StreamExt}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `factory` is never read [INFO] [stdout] --> src/websocket/websocket_server.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct WebsocketServer { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | factory: Arc>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 47s [INFO] running `Command { std: "docker" "inspect" "a94611904c774b3da53817038c5af430ef34780bcfca06c8fd9eaab56279e8ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a94611904c774b3da53817038c5af430ef34780bcfca06c8fd9eaab56279e8ed", kill_on_drop: false }` [INFO] [stdout] a94611904c774b3da53817038c5af430ef34780bcfca06c8fd9eaab56279e8ed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3eae0e48492708241eea4f9968f986f06e43bda106f0813c2a71ca03ec25d7bf [INFO] running `Command { std: "docker" "start" "-a" "3eae0e48492708241eea4f9968f986f06e43bda106f0813c2a71ca03ec25d7bf", kill_on_drop: false }` [INFO] [stderr] warning: dependency (reqwest) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.reqwest.verredission [INFO] [stderr] warning: dependency (uuid) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.uuid.vesion [INFO] [stdout] warning: unused import: `fmt::Debug` [INFO] [stdout] --> src/app/dao.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{convert::From, fmt::Debug}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections` [INFO] [stdout] --> src/app/user/user_dao.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoResponse`, `Query`, `Response`, `http::StatusCode` [INFO] [stdout] --> src/app/user/user_routes.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | extract::{Json, Path, Query, State}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 3 | http::HeaderMap, [INFO] [stdout] 4 | http::StatusCode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | response::{IntoResponse, Response}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/app/user/user_routes.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::anyhow as error` [INFO] [stdout] --> src/app/user/user_routes.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use anyhow::anyhow as error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/app/user/user_routes.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/server.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::server_errors` [INFO] [stdout] --> src/server_errors.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::server_errors; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/websocket/websocket_handler.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::websocket::websocket_server::WebsocketServer` [INFO] [stdout] --> src/websocket/websocket_handler.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::websocket::websocket_server::WebsocketServer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `redis_pubsub::RedisPubsubAdapter` [INFO] [stdout] --> src/websocket/websocket_server.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use super::{redis_pubsub::RedisPubsubAdapter, socket::AppSocket}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SplitStream` [INFO] [stdout] --> src/websocket/messages.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | stream::{SplitSink, SplitStream, StreamExt}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `app::application_dao::ApplicationDao`, `websocket::room` [INFO] [stdout] --> src/websocket/messages.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | app::application_dao::ApplicationDao, application_factory::ApplicationFactory, websocket::room, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers` [INFO] [stdout] --> src/app/user/user_routes.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | headers: HeaderMap, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers` [INFO] [stdout] --> src/app/user/user_routes.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | headers: HeaderMap, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `msg` is assigned to, but never used [INFO] [stdout] --> src/websocket/socket.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | let mut msg = String::from("Unknown reason for closing"); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_msg` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `msg` is never read [INFO] [stdout] --> src/websocket/socket.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | msg = format!("Closing... code: {}, reason: {}", f.code, f.reason); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers_str` [INFO] [stdout] --> src/websocket/websocket_handler.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let headers_str = format!("here are the header: {:?}", headers); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::app::dao::DaoObj` [INFO] [stdout] --> src/app/user/user_routes.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::app::dao::DaoObj; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StreamExt` [INFO] [stdout] --> src/websocket/messages.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | stream::{SplitSink, SplitStream, StreamExt}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `factory` is never read [INFO] [stdout] --> src/websocket/websocket_server.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct WebsocketServer { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | factory: Arc>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rust-axum v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `anyhow as error` [INFO] [stdout] --> examples/redis_test.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::{anyhow as error, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::prelude::*` [INFO] [stdout] --> examples/redis_test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use futures::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `redis::AsyncCommands` [INFO] [stdout] --> examples/redis_test.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use redis::AsyncCommands; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow as error` [INFO] [stdout] --> examples/websocket_client.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | use anyhow::{anyhow as error, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> examples/redis_test.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 73 | / loop { [INFO] [stdout] 74 | | let msg = pubsub.get_message()?; [INFO] [stdout] 75 | | [INFO] [stdout] 76 | | let payload: std::result::Result = msg.get_payload(); [INFO] [stdout] ... | [INFO] [stdout] 80 | | } [INFO] [stdout] 81 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 82 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `adap` [INFO] [stdout] --> examples/redis_test.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut adap = RedisPubsubAdapter::new("room::*", fac); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_adap` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/redis_test.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut adap = RedisPubsubAdapter::new("room::*", fac); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApplicationContext` is never constructed [INFO] [stdout] --> examples/redis_test.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct ApplicationContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pubsub_loop` is never used [INFO] [stdout] --> examples/redis_test.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn pubsub_loop(mut con: redis::Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Debug` [INFO] [stdout] --> src/app/dao.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{convert::From, fmt::Debug}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections` [INFO] [stdout] --> src/app/user/user_dao.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoResponse`, `Query`, `Response`, `http::StatusCode` [INFO] [stdout] --> src/app/user/user_routes.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | extract::{Json, Path, Query, State}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 3 | http::HeaderMap, [INFO] [stdout] 4 | http::StatusCode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | response::{IntoResponse, Response}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/app/user/user_routes.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::anyhow as error` [INFO] [stdout] --> src/app/user/user_routes.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use anyhow::anyhow as error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/app/user/user_routes.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/server.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::server_errors` [INFO] [stdout] --> src/server_errors.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::server_errors; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/websocket/websocket_handler.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::websocket::websocket_server::WebsocketServer` [INFO] [stdout] --> src/websocket/websocket_handler.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::websocket::websocket_server::WebsocketServer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `redis_pubsub::RedisPubsubAdapter` [INFO] [stdout] --> src/websocket/websocket_server.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use super::{redis_pubsub::RedisPubsubAdapter, socket::AppSocket}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SplitStream` [INFO] [stdout] --> src/websocket/messages.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | stream::{SplitSink, SplitStream, StreamExt}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `app::application_dao::ApplicationDao`, `websocket::room` [INFO] [stdout] --> src/websocket/messages.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | app::application_dao::ApplicationDao, application_factory::ApplicationFactory, websocket::room, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `websocket_address` [INFO] [stdout] --> examples/websocket_client.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let websocket_address = format!("ws://{host}/ws"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_websocket_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers` [INFO] [stdout] --> src/app/user/user_routes.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | headers: HeaderMap, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers` [INFO] [stdout] --> src/app/user/user_routes.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | headers: HeaderMap, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `msg` is assigned to, but never used [INFO] [stdout] --> src/websocket/socket.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | let mut msg = String::from("Unknown reason for closing"); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_msg` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `msg` is never read [INFO] [stdout] --> src/websocket/socket.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | msg = format!("Closing... code: {}, reason: {}", f.code, f.reason); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers_str` [INFO] [stdout] --> src/websocket/websocket_handler.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let headers_str = format!("here are the header: {:?}", headers); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::app::dao::DaoObj` [INFO] [stdout] --> src/app/user/user_routes.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::app::dao::DaoObj; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StreamExt` [INFO] [stdout] --> src/websocket/messages.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | stream::{SplitSink, SplitStream, StreamExt}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `factory` is never read [INFO] [stdout] --> src/websocket/websocket_server.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct WebsocketServer { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | factory: Arc>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 15.12s [INFO] running `Command { std: "docker" "inspect" "3eae0e48492708241eea4f9968f986f06e43bda106f0813c2a71ca03ec25d7bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3eae0e48492708241eea4f9968f986f06e43bda106f0813c2a71ca03ec25d7bf", kill_on_drop: false }` [INFO] [stdout] 3eae0e48492708241eea4f9968f986f06e43bda106f0813c2a71ca03ec25d7bf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 271fcec832ff9c1a1fb74fbecb0d7fb4bf02e294e78cdab49b12261e7b9066bd [INFO] running `Command { std: "docker" "start" "-a" "271fcec832ff9c1a1fb74fbecb0d7fb4bf02e294e78cdab49b12261e7b9066bd", kill_on_drop: false }` [INFO] [stderr] warning: dependency (reqwest) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.reqwest.verredission [INFO] [stderr] warning: dependency (uuid) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions [INFO] [stderr] warning: unused manifest key: dependencies.uuid.vesion [INFO] [stderr] warning: unused import: `fmt::Debug` [INFO] [stderr] --> src/app/dao.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | use std::{convert::From, fmt::Debug}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections` [INFO] [stderr] --> src/app/user/user_dao.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::collections; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IntoResponse`, `Query`, `Response`, `http::StatusCode` [INFO] [stderr] --> src/app/user/user_routes.rs:2:27 [INFO] [stderr] | [INFO] [stderr] 2 | extract::{Json, Path, Query, State}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 3 | http::HeaderMap, [INFO] [stderr] 4 | http::StatusCode, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 5 | response::{IntoResponse, Response}, [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mutex` [INFO] [stderr] --> src/app/user/user_routes.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anyhow::anyhow as error` [INFO] [stderr] --> src/app/user/user_routes.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use anyhow::anyhow as error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::Value` [INFO] [stderr] --> src/app/user/user_routes.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use serde_json::Value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anyhow` [INFO] [stderr] --> src/server.rs:1:14 [INFO] [stderr] | [INFO] [stderr] 1 | use anyhow::{anyhow, Result}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::server_errors` [INFO] [stderr] --> src/server_errors.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::server_errors; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mutex` [INFO] [stderr] --> src/websocket/websocket_handler.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::websocket::websocket_server::WebsocketServer` [INFO] [stderr] --> src/websocket/websocket_handler.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::websocket::websocket_server::WebsocketServer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `redis_pubsub::RedisPubsubAdapter` [INFO] [stderr] --> src/websocket/websocket_server.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | use super::{redis_pubsub::RedisPubsubAdapter, socket::AppSocket}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SplitStream` [INFO] [stderr] --> src/websocket/messages.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | stream::{SplitSink, SplitStream, StreamExt}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `app::application_dao::ApplicationDao`, `websocket::room` [INFO] [stderr] --> src/websocket/messages.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | app::application_dao::ApplicationDao, application_factory::ApplicationFactory, websocket::room, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `headers` [INFO] [stderr] --> src/app/user/user_routes.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | headers: HeaderMap, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `headers` [INFO] [stderr] --> src/app/user/user_routes.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | headers: HeaderMap, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stderr] [INFO] [stderr] warning: variable `msg` is assigned to, but never used [INFO] [stderr] --> src/websocket/socket.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | let mut msg = String::from("Unknown reason for closing"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_msg` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `msg` is never read [INFO] [stderr] --> src/websocket/socket.rs:127:17 [INFO] [stderr] | [INFO] [stderr] 127 | msg = format!("Closing... code: {}, reason: {}", f.code, f.reason); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `headers_str` [INFO] [stderr] --> src/websocket/websocket_handler.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let headers_str = format!("here are the header: {:?}", headers); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers_str` [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::app::dao::DaoObj` [INFO] [stderr] --> src/app/user/user_routes.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use crate::app::dao::DaoObj; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StreamExt` [INFO] [stderr] --> src/websocket/messages.rs:5:38 [INFO] [stderr] | [INFO] [stderr] 5 | stream::{SplitSink, SplitStream, StreamExt}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `factory` is never read [INFO] [stderr] --> src/websocket/websocket_server.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct WebsocketServer { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 23 | factory: Arc>, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rust-axum` (lib) generated 21 warnings (run `cargo fix --lib -p rust-axum` to apply 16 suggestions) [INFO] [stderr] warning: `rust-axum` (lib test) generated 21 warnings (21 duplicates) [INFO] [stderr] warning: unused import: `anyhow as error` [INFO] [stderr] --> examples/redis_test.rs:1:14 [INFO] [stderr] | [INFO] [stderr] 1 | use anyhow::{anyhow as error, Result}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::prelude::*` [INFO] [stderr] --> examples/redis_test.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use futures::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `redis::AsyncCommands` [INFO] [stderr] --> examples/redis_test.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use redis::AsyncCommands; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> examples/redis_test.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 73 | / loop { [INFO] [stderr] 74 | | let msg = pubsub.get_message()?; [INFO] [stderr] 75 | | [INFO] [stderr] 76 | | let payload: std::result::Result = msg.get_payload(); [INFO] [stderr] ... | [INFO] [stderr] 80 | | } [INFO] [stderr] 81 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 82 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `adap` [INFO] [stderr] --> examples/redis_test.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | let mut adap = RedisPubsubAdapter::new("room::*", fac); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_adap` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/redis_test.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | let mut adap = RedisPubsubAdapter::new("room::*", fac); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct `ApplicationContext` is never constructed [INFO] [stderr] --> examples/redis_test.rs:7:8 [INFO] [stderr] | [INFO] [stderr] 7 | struct ApplicationContext { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `pubsub_loop` is never used [INFO] [stderr] --> examples/redis_test.rs:69:4 [INFO] [stderr] | [INFO] [stderr] 69 | fn pubsub_loop(mut con: redis::Connection) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anyhow as error` [INFO] [stderr] --> examples/websocket_client.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | use anyhow::{anyhow as error, Result}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `websocket_address` [INFO] [stderr] --> examples/websocket_client.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | let websocket_address = format!("ws://{host}/ws"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_websocket_address` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rust-axum` (example "redis_test") generated 8 warnings (run `cargo fix --example "redis_test"` to apply 5 suggestions) [INFO] [stderr] warning: `rust-axum` (example "websocket_client") generated 2 warnings (run `cargo fix --example "websocket_client"` to apply 2 suggestions) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.58s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/axum_test-260d7fc3475bb4b3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/axum_test-d1633e56afab0795) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests axum_test [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "271fcec832ff9c1a1fb74fbecb0d7fb4bf02e294e78cdab49b12261e7b9066bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "271fcec832ff9c1a1fb74fbecb0d7fb4bf02e294e78cdab49b12261e7b9066bd", kill_on_drop: false }` [INFO] [stdout] 271fcec832ff9c1a1fb74fbecb0d7fb4bf02e294e78cdab49b12261e7b9066bd