[INFO] cloning repository https://github.com/guoriyue/http-ws-rust-sdk [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/guoriyue/http-ws-rust-sdk" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoriyue%2Fhttp-ws-rust-sdk", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoriyue%2Fhttp-ws-rust-sdk'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8b88af152c5c366e324304ca92289051de867b81 [INFO] checking guoriyue/http-ws-rust-sdk against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoriyue%2Fhttp-ws-rust-sdk" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/guoriyue/http-ws-rust-sdk [INFO] finished tweaking git repo https://github.com/guoriyue/http-ws-rust-sdk [INFO] tweaked toml for git repo https://github.com/guoriyue/http-ws-rust-sdk written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/guoriyue/http-ws-rust-sdk on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/guoriyue/http-ws-rust-sdk already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded security-framework-sys v2.10.0 [INFO] [stderr] Downloaded tokio-tcp v0.1.4 [INFO] [stderr] Downloaded ryu v1.0.17 [INFO] [stderr] Downloaded futures-io-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded futures-core-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded tokio-tungstenite v0.8.0 [INFO] [stderr] Downloaded input_buffer v0.2.0 [INFO] [stderr] Downloaded parking_lot_core v0.6.3 [INFO] [stderr] Downloaded tokio-tls v0.2.1 [INFO] [stderr] Downloaded futures-executor-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded futures-select-macro-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded futures-sink-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded futures-channel-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded futures-join-macro-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded tokio-fs v0.1.7 [INFO] [stderr] Downloaded uuid v1.8.0 [INFO] [stderr] Downloaded tokio-dns-unofficial v0.3.1 [INFO] [stderr] Downloaded cc v1.0.92 [INFO] [stderr] Downloaded tungstenite v0.8.1 [INFO] [stderr] Downloaded h2 v0.4.4 [INFO] [stderr] Downloaded reqwest v0.12.3 [INFO] [stderr] Downloaded futures-util-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded base64 v0.22.0 [INFO] [stderr] Downloaded futures-preview v0.3.0-alpha.18 [INFO] [stderr] Downloaded rustls-pki-types v1.4.1 [INFO] [stderr] Downloaded mio-named-pipes v0.1.7 [INFO] [stderr] Downloaded serde_json v1.0.115 [INFO] [stderr] Downloaded tokio-current-thread v0.1.7 [INFO] [stderr] Downloaded uuid-macro-internal v1.8.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9887e2387e74aa8f585e89ff5b68f07bba027b0c32300351d691a921b19ea6c3 [INFO] running `Command { std: "docker" "start" "-a" "9887e2387e74aa8f585e89ff5b68f07bba027b0c32300351d691a921b19ea6c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9887e2387e74aa8f585e89ff5b68f07bba027b0c32300351d691a921b19ea6c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9887e2387e74aa8f585e89ff5b68f07bba027b0c32300351d691a921b19ea6c3", kill_on_drop: false }` [INFO] [stdout] 9887e2387e74aa8f585e89ff5b68f07bba027b0c32300351d691a921b19ea6c3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d2d853b86d53489d12c6697cbd998cc15d64de210c7046a09eb61e8e16d15ad5 [INFO] running `Command { std: "docker" "start" "-a" "d2d853b86d53489d12c6697cbd998cc15d64de210c7046a09eb61e8e16d15ad5", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking futures v0.1.31 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling cc v1.0.92 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling openssl v0.10.64 [INFO] [stderr] Checking tokio v1.37.0 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking crossbeam-deque v0.7.4 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling syn v2.0.58 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Checking byte-tools v0.3.1 [INFO] [stderr] Checking matches v0.1.10 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Checking futures-core-preview v0.3.0-alpha.18 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking block-padding v0.1.5 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking futures-sink-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Compiling openssl-sys v0.9.102 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Checking http-body v1.0.0 [INFO] [stderr] Checking tokio-fs v0.1.7 [INFO] [stderr] Compiling backtrace v0.3.71 [INFO] [stderr] Checking futures-channel-preview v0.3.0-alpha.18 [INFO] [stderr] Checking tokio-uds v0.2.7 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Checking futures-io-preview v0.3.0-alpha.18 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Checking opaque-debug v0.2.3 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Compiling serde_json v1.0.115 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Checking http v0.1.21 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking http-body-util v0.1.1 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking sha-1 v0.8.2 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking input_buffer v0.2.0 [INFO] [stderr] Checking object v0.32.2 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Checking base64 v0.22.0 [INFO] [stderr] Checking rustls-pki-types v1.4.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tokio-dns-unofficial v0.3.1 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking encoding_rs v0.8.34 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Checking ipnet v2.9.0 [INFO] [stderr] Checking pin-project-lite v0.1.12 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking rustls-pemfile v2.1.2 [INFO] [stderr] Checking h2 v0.4.4 [INFO] [stderr] Compiling futures-join-macro-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling futures-select-macro-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling uuid-macro-internal v1.8.0 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Checking uuid v1.8.0 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.18 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking url_serde v0.2.0 [INFO] [stderr] Compiling tokio-macros v0.2.6 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.18 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.18 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tungstenite v0.8.1 [INFO] [stderr] Checking tokio-tls v0.2.1 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking tokio-tungstenite v0.8.0 [INFO] [stderr] Checking hyper v1.3.1 [INFO] [stderr] Checking hyper-util v0.1.3 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.3 [INFO] [stderr] Checking moobius v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/socket.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::types::{Config}; [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 imports: `error` and `info` [INFO] [stdout] --> src/socket.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | use log::{info, error}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Protocol` [INFO] [stdout] --> src/sdk.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::socket::{WebSocket, Protocol, JsonProtocol}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MessageContent` [INFO] [stdout] --> src/sdk.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::types::{Config, MessageContent}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Character` [INFO] [stdout] --> src/sdk.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::Character; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/sdk.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use serde_derive::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `err_msg` [INFO] [stdout] --> src/sdk.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | use failure::{err_msg, Error}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tungstenite::http::response` [INFO] [stdout] --> src/sdk.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tungstenite::http::response; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `json` [INFO] [stdout] --> src/types.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::{Value, json, Map}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Form` and `Part` [INFO] [stdout] --> src/http_api_wrapper.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | use reqwest::blocking::multipart::{Form, Part}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/http_api_wrapper.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_derive::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/http_api_wrapper.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/http_api_wrapper.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `info` [INFO] [stdout] --> src/http_api_wrapper.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | use log::{info, error}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `self` [INFO] [stdout] --> src/http_api_wrapper.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io::{self, ErrorKind, Read}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/socket.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(async_await, async_closure)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/socket.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::types::{Config}; [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 imports: `error` and `info` [INFO] [stdout] --> src/socket.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | use log::{info, error}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Protocol` [INFO] [stdout] --> src/sdk.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::socket::{WebSocket, Protocol, JsonProtocol}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MessageContent` [INFO] [stdout] --> src/sdk.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::types::{Config, MessageContent}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Character` [INFO] [stdout] --> src/sdk.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::Character; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/sdk.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use serde_derive::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `err_msg` [INFO] [stdout] --> src/sdk.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | use failure::{err_msg, Error}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tungstenite::http::response` [INFO] [stdout] --> src/sdk.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tungstenite::http::response; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `json` [INFO] [stdout] --> src/types.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::{Value, json, Map}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Form` and `Part` [INFO] [stdout] --> src/http_api_wrapper.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | use reqwest::blocking::multipart::{Form, Part}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/http_api_wrapper.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_derive::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/http_api_wrapper.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/http_api_wrapper.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `info` [INFO] [stdout] --> src/http_api_wrapper.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | use log::{info, error}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `self` [INFO] [stdout] --> src/http_api_wrapper.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io::{self, ErrorKind, Read}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/socket.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(async_await, async_closure)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/sdk.rs:73:45 [INFO] [stdout] | [INFO] [stdout] 73 | async fn on_fetch_characters(&mut self, body: &Value) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | ... let response = self.ws_client.update_character_list(self.config.service_id.as_ref().unwrap(), self.config.channels[0].as_str(), gro... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | ... let response = self.ws_client.update_character_list(self.config.service_id.as_ref().unwrap(), self.config.channels[0].as_str(), gro... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/sdk.rs:73:45 [INFO] [stdout] | [INFO] [stdout] 73 | async fn on_fetch_characters(&mut self, body: &Value) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | ... let response = self.ws_client.update_character_list(self.config.service_id.as_ref().unwrap(), self.config.channels[0].as_str(), gro... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | ... let response = self.ws_client.update_character_list(self.config.service_id.as_ref().unwrap(), self.config.channels[0].as_str(), gro... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | ... let response = self.ws_client.update_buttons(self.config.service_id.as_ref().unwrap(), channel_id, button_list, group_recipients.as... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_mickey` [INFO] [stdout] --> src/sdk.rs:181:29 [INFO] [stdout] | [INFO] [stdout] 181 | let new_mickey = self.create_character("src/mickey.png", "Mickey", "A friendly mouse").await; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_mickey` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:246:13 [INFO] [stdout] | [INFO] [stdout] 246 | ... let response = self.ws_client.message_down( self.config.service_id.as_ref().unwrap(), &channel_id, &group_recipients, "text", &cont... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | ... let response = self.ws_client.update_buttons(self.config.service_id.as_ref().unwrap(), channel_id, button_list, group_recipients.as... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:259:13 [INFO] [stdout] | [INFO] [stdout] 259 | ... let response = self.ws_client.message_down( self.config.service_id.as_ref().unwrap(), &channel_id, &group_recipients, "image", avat... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_mickey` [INFO] [stdout] --> src/sdk.rs:181:29 [INFO] [stdout] | [INFO] [stdout] 181 | let new_mickey = self.create_character("src/mickey.png", "Mickey", "A friendly mouse").await; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_mickey` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:246:13 [INFO] [stdout] | [INFO] [stdout] 246 | ... let response = self.ws_client.message_down( self.config.service_id.as_ref().unwrap(), &channel_id, &group_recipients, "text", &cont... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response` [INFO] [stdout] --> src/sdk.rs:259:13 [INFO] [stdout] | [INFO] [stdout] 259 | ... let response = self.ws_client.message_down( self.config.service_id.as_ref().unwrap(), &channel_id, &group_recipients, "image", avat... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/sdk.rs:167:25 [INFO] [stdout] | [INFO] [stdout] 167 | self.send_text_message(some_text, &channel_id, &who_clicked, to_whom, 1000).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 167 | let _ = self.send_text_message(some_text, &channel_id, &who_clicked, to_whom, 1000).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/sdk.rs:171:25 [INFO] [stdout] | [INFO] [stdout] 171 | self.send_image_message(cat_in_plastic_bag, &channel_id, &who_clicked, to_whom).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 171 | let _ = self.send_image_message(cat_in_plastic_bag, &channel_id, &who_clicked, to_whom).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/sdk.rs:187:25 [INFO] [stdout] | [INFO] [stdout] 187 | ... self.send_text_message("M-I-C-K-E-Y M-O-U-S-E!".to_string(), &channel_id, &last_mickey_id, vec![who_clicked], 1000).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = self.send_text_message("M-I-C-K-E-Y M-O-U-S-E!".to_string(), &channel_id, &last_mickey_id, vec![who_clicked], 1000).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/sdk.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | self.send_text_message(cmds, &channel_id, &who_clicked, vec![who_clicked.clone()], 1000).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 200 | let _ = self.send_text_message(cmds, &channel_id, &who_clicked, vec![who_clicked.clone()], 1000).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/sdk.rs:167:25 [INFO] [stdout] | [INFO] [stdout] 167 | self.send_text_message(some_text, &channel_id, &who_clicked, to_whom, 1000).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 167 | let _ = self.send_text_message(some_text, &channel_id, &who_clicked, to_whom, 1000).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/sdk.rs:171:25 [INFO] [stdout] | [INFO] [stdout] 171 | self.send_image_message(cat_in_plastic_bag, &channel_id, &who_clicked, to_whom).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 171 | let _ = self.send_image_message(cat_in_plastic_bag, &channel_id, &who_clicked, to_whom).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/sdk.rs:187:25 [INFO] [stdout] | [INFO] [stdout] 187 | ... self.send_text_message("M-I-C-K-E-Y M-O-U-S-E!".to_string(), &channel_id, &last_mickey_id, vec![who_clicked], 1000).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = self.send_text_message("M-I-C-K-E-Y M-O-U-S-E!".to_string(), &channel_id, &last_mickey_id, vec![who_clicked], 1000).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/sdk.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | self.send_text_message(cmds, &channel_id, &who_clicked, vec![who_clicked.clone()], 1000).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 200 | let _ = self.send_text_message(cmds, &channel_id, &who_clicked, vec![who_clicked.clone()], 1000).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HTTPAPIWrapper` [INFO] [stdout] --> src/main.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | use moobius::{Moobius, Config, HTTPAPIWrapper}; [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: `reqwest::Error` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use reqwest::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HTTPAPIWrapper` [INFO] [stdout] --> src/main.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | use moobius::{Moobius, Config, HTTPAPIWrapper}; [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: `reqwest::Error` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use reqwest::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `refresh_token` [INFO] [stdout] --> src/main.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | let (access_token, refresh_token) = moobius_client.http_client.authenticate().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_refresh_token` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `refresh_token` [INFO] [stdout] --> src/main.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | let (access_token, refresh_token) = moobius_client.http_client.authenticate().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_refresh_token` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.80s [INFO] running `Command { std: "docker" "inspect" "d2d853b86d53489d12c6697cbd998cc15d64de210c7046a09eb61e8e16d15ad5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2d853b86d53489d12c6697cbd998cc15d64de210c7046a09eb61e8e16d15ad5", kill_on_drop: false }` [INFO] [stdout] d2d853b86d53489d12c6697cbd998cc15d64de210c7046a09eb61e8e16d15ad5