[INFO] cloning repository https://github.com/lileeei/JanusClient [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lileeei/JanusClient" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flileeei%2FJanusClient", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flileeei%2FJanusClient'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c8e389bb4ff24713206793e2b23db3eb3887e2e9 [INFO] testing lileeei/JanusClient against master#caccb4d0368bd918ef6668af8e13834d07040417 for pr-146098-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flileeei%2FJanusClient" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lileeei/JanusClient [INFO] removed 1 missing examples [INFO] finished tweaking git repo https://github.com/lileeei/JanusClient [INFO] tweaked toml for git repo https://github.com/lileeei/JanusClient written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lileeei/JanusClient on toolchain caccb4d0368bd918ef6668af8e13834d07040417 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lileeei/JanusClient 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" "+caccb4d0368bd918ef6668af8e13834d07040417" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded litemap v0.7.5 [INFO] [stderr] Downloaded env_logger v0.10.2 [INFO] [stderr] Downloaded data-encoding v2.8.0 [INFO] [stderr] Downloaded async-stream-impl v0.3.6 [INFO] [stderr] Downloaded async-stream v0.3.6 [INFO] [stderr] Downloaded pretty_env_logger v0.5.0 [INFO] [stderr] Downloaded env_logger v0.11.7 [INFO] [stderr] Downloaded redox_syscall v0.5.10 [INFO] [stderr] Downloaded jiff-static v0.2.5 [INFO] [stderr] Downloaded miniz_oxide v0.8.5 [INFO] [stderr] Downloaded cc v1.2.17 [INFO] [stderr] Downloaded openssl-sys v0.9.106 [INFO] [stderr] Downloaded hermit-abi v0.5.0 [INFO] [stderr] Downloaded socket2 v0.5.8 [INFO] [stderr] Downloaded portable-atomic v1.11.0 [INFO] [stderr] Downloaded tokio-test v0.4.4 [INFO] [stderr] Downloaded openssl v0.10.71 [INFO] [stderr] Downloaded rustix v1.0.3 [INFO] [stderr] Downloaded jiff v0.2.5 [INFO] [stderr] Downloaded tokio v1.44.1 [INFO] [stderr] Downloaded linux-raw-sys v0.9.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+caccb4d0368bd918ef6668af8e13834d07040417" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a7a9b5b3afe56a8bc2ef3e98e30a64c83879f39ecd59e8a1137a30d71bb375b3 [INFO] running `Command { std: "docker" "start" "-a" "a7a9b5b3afe56a8bc2ef3e98e30a64c83879f39ecd59e8a1137a30d71bb375b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a7a9b5b3afe56a8bc2ef3e98e30a64c83879f39ecd59e8a1137a30d71bb375b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7a9b5b3afe56a8bc2ef3e98e30a64c83879f39ecd59e8a1137a30d71bb375b3", kill_on_drop: false }` [INFO] [stdout] a7a9b5b3afe56a8bc2ef3e98e30a64c83879f39ecd59e8a1137a30d71bb375b3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+caccb4d0368bd918ef6668af8e13834d07040417" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b961b913cd8715f621f8753d7a83f736e1fc1517b7546b944ec7e892710b9fc3 [INFO] running `Command { std: "docker" "start" "-a" "b961b913cd8715f621f8753d7a83f736e1fc1517b7546b944ec7e892710b9fc3", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling smallvec v1.14.0 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling litemap v0.7.5 [INFO] [stderr] Compiling once_cell v1.21.1 [INFO] [stderr] Compiling writeable v0.5.5 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling cc v1.2.17 [INFO] [stderr] Compiling zerocopy v0.8.24 [INFO] [stderr] Compiling icu_properties_data v1.5.0 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling utf16_iter v1.0.5 [INFO] [stderr] Compiling icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling openssl v0.10.71 [INFO] [stderr] Compiling write16 v1.0.0 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling http v1.3.1 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling anstyle-query v1.1.2 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling data-encoding v2.8.0 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling openssl-sys v0.9.106 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling jiff v0.2.5 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling tokio v1.44.1 [INFO] [stderr] Compiling env_logger v0.11.7 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling tungstenite v0.21.0 [INFO] [stderr] Compiling tokio-tungstenite v0.21.0 [INFO] [stderr] Compiling janus_client v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0583]: file not found for module `utils` [INFO] [stdout] --> src/implementations/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod utils; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: to create the module `utils`, create file "src/implementations/utils.rs" or "src/implementations/utils/mod.rs" [INFO] [stdout] = note: if there is a `mod utils` elsewhere in the crate already, import it with `use crate::...` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc` [INFO] [stdout] --> src/adapters/chrome.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::mpsc; [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: `serde_json::Value` [INFO] [stdout] --> src/implementations/chrome/page.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode [INFO] [stdout] --> src/implementations/chrome/page.rs:107:25 [INFO] [stdout] | [INFO] [stdout] 107 | base64::decode(data) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/page.rs:47:40 [INFO] [stdout] | [INFO] [stdout] 47 | let response = self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0027]: pattern does not mention field `id` [INFO] [stdout] --> src/implementations/chrome/page.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | if let Message::Response { result, error } = response { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing field `id` [INFO] [stdout] | [INFO] [stdout] help: include the missing field in the pattern [INFO] [stdout] | [INFO] [stdout] 56 | if let Message::Response { result, error, id } = response { [INFO] [stdout] | ++++ [INFO] [stdout] help: if you don't care about this missing field, you can explicitly ignore it [INFO] [stdout] | [INFO] [stdout] 56 | if let Message::Response { result, error, id: _ } = response { [INFO] [stdout] | +++++++ [INFO] [stdout] help: or always ignore missing fields here [INFO] [stdout] | [INFO] [stdout] 56 | if let Message::Response { result, error, .. } = response { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/page.rs:72:25 [INFO] [stdout] | [INFO] [stdout] 72 | self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/page.rs:96:40 [INFO] [stdout] | [INFO] [stdout] 96 | let response = self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/dom.rs:22:40 [INFO] [stdout] | [INFO] [stdout] 22 | let response = self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/dom.rs:33:47 [INFO] [stdout] | [INFO] [stdout] 33 | let details = self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/dom.rs:76:40 [INFO] [stdout] | [INFO] [stdout] 76 | let response = self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/dom.rs:93:40 [INFO] [stdout] | [INFO] [stdout] 93 | let response = self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/dom.rs:104:33 [INFO] [stdout] | [INFO] [stdout] 104 | self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/network.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/network.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/network.rs:60:25 [INFO] [stdout] | [INFO] [stdout] 60 | self.connection.send_message(Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `connect` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/mod.rs:29:25 [INFO] [stdout] | [INFO] [stdout] 29 | self.connection.connect(endpoint).await?; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | async fn connect(&mut self, endpoint: &str) -> Result<(), DebuggerError>; [INFO] [stdout] | ------- the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `connect` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: there is a method `disconnect` with a similar name, but with different arguments [INFO] [stdout] --> src/adapters/mod.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | async fn disconnect(&mut self) -> Result<(), DebuggerError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: trait `Connection` which provides `connect` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/mod.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | self.connection.send_message(crate::adapters::Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `disconnect` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/mod.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | self.connection.disconnect().await [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | async fn disconnect(&mut self) -> Result<(), DebuggerError>; [INFO] [stdout] | ---------- the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `disconnect` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: there is a method `connect` with a similar name, but with different arguments [INFO] [stdout] --> src/adapters/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | async fn connect(&mut self, endpoint: &str) -> Result<(), DebuggerError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: trait `Connection` which provides `disconnect` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/mod.rs:46:40 [INFO] [stdout] | [INFO] [stdout] 46 | let response = self.connection.send_message(crate::adapters::Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/mod.rs:71:40 [INFO] [stdout] | [INFO] [stdout] 71 | let response = self.connection.send_message(crate::adapters::Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/mod.rs:94:40 [INFO] [stdout] | [INFO] [stdout] 94 | let response = self.connection.send_message(crate::adapters::Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/mod.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | self.connection.send_message(crate::adapters::Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `send_message` found for struct `ChromeConnection` in the current scope [INFO] [stdout] --> src/implementations/chrome/mod.rs:127:40 [INFO] [stdout] | [INFO] [stdout] 127 | let response = self.connection.send_message(crate::adapters::Message::Command { [INFO] [stdout] | ----------------^^^^^^^^^^^^ method not found in `ChromeConnection` [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/chrome.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct ChromeConnection { [INFO] [stdout] | --------------------------- method `send_message` not found for this struct [INFO] [stdout] | [INFO] [stdout] ::: src/adapters/mod.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError>; [INFO] [stdout] | ------------ the method is available for `ChromeConnection` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `Connection` which provides `send_message` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::adapters::Connection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/adapters/chrome.rs:107:65 [INFO] [stdout] | [INFO] [stdout] 107 | async fn disconnect(&mut self) -> Result<(), DebuggerError> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 108 | | if let Some((mut write, _)) = self.ws_stream.lock().unwrap().take() { [INFO] [stdout] 109 | | write.close().await [INFO] [stdout] 110 | | .map_err(|e| DebuggerError::ConnectionError(e.to_string()))?; [INFO] [stdout] 111 | | } [INFO] [stdout] 112 | | Ok(()) [INFO] [stdout] 113 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: within `{async block@src/adapters/chrome.rs:107:65: 113:6}`, the trait `std::marker::Send` is not implemented for `MutexGuard<'_, Option<(SplitSink, ...>, ...)>>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/adapters/chrome.rs:109:27 [INFO] [stdout] | [INFO] [stdout] 108 | if let Some((mut write, _)) = self.ws_stream.lock().unwrap().take() { [INFO] [stdout] | ------------------------------ has type `std::sync::MutexGuard<'_, Option<(SplitSink>, tokio_tungstenite::tungstenite::Message>, SplitStream>>)>>` which is not `Send` [INFO] [stdout] 109 | write.close().await [INFO] [stdout] | ^^^^^ await occurs here, with `self.ws_stream.lock().unwrap()` maybe used later [INFO] [stdout] = note: required for the cast from `Pin>` to `Pin> + Send>>` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/janus_client-7a76c3030a197dff.long-type-7606721074928967334.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/adapters/chrome.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | let mut write = write.clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `*write` as mutable, as it is behind a `&` reference [INFO] [stdout] --> src/adapters/chrome.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | write.send(tokio_tungstenite::tungstenite::Message::Text(msg)).await [INFO] [stdout] | ^^^^^ `write` is a `&` reference, so the data it refers to cannot be borrowed as mutable [INFO] [stdout] | [INFO] [stdout] help: `SplitSink>, tokio_tungstenite::tungstenite::Message>` doesn't implement `Clone`, so this call clones the reference `&SplitSink>, tokio_tungstenite::tungstenite::Message>` [INFO] [stdout] --> src/adapters/chrome.rs:124:35 [INFO] [stdout] | [INFO] [stdout] 124 | let mut write = write.clone(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] help: consider specifying this binding's type [INFO] [stdout] | [INFO] [stdout] 124 | let mut write: &mut SplitSink>, tokio_tungstenite::tungstenite::Message> = write.clone(); [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/adapters/chrome.rs:115:81 [INFO] [stdout] | [INFO] [stdout] 115 | async fn send_message(&self, message: Message) -> Result<(), DebuggerError> { [INFO] [stdout] | _________________________________________________________________________________^ [INFO] [stdout] 116 | | if let Some((write, _)) = &*self.ws_stream.lock().unwrap() { [INFO] [stdout] 117 | | let msg = match message { [INFO] [stdout] 118 | | Message::Command { method, params, .. } => { [INFO] [stdout] ... | [INFO] [stdout] 130 | | Ok(()) [INFO] [stdout] 131 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: within `{async block@src/adapters/chrome.rs:115:81: 131:6}`, the trait `std::marker::Send` is not implemented for `MutexGuard<'_, Option<(SplitSink, ...>, ...)>>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/adapters/chrome.rs:125:76 [INFO] [stdout] | [INFO] [stdout] 116 | if let Some((write, _)) = &*self.ws_stream.lock().unwrap() { [INFO] [stdout] | ------------------------------ has type `std::sync::MutexGuard<'_, Option<(SplitSink>, tokio_tungstenite::tungstenite::Message>, SplitStream>>)>>` which is not `Send` [INFO] [stdout] ... [INFO] [stdout] 125 | write.send(tokio_tungstenite::tungstenite::Message::Text(msg)).await [INFO] [stdout] | ^^^^^ await occurs here, with `self.ws_stream.lock().unwrap()` maybe used later [INFO] [stdout] = note: required for the cast from `Pin>` to `Pin> + Send>>` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/janus_client-7a76c3030a197dff.long-type-7606721074928967334.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/adapters/chrome.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | let mut read = read.clone(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `*read` as mutable, as it is behind a `&` reference [INFO] [stdout] --> src/adapters/chrome.rs:137:19 [INFO] [stdout] | [INFO] [stdout] 137 | match read.next().await { [INFO] [stdout] | ^^^^ `read` is a `&` reference, so the data it refers to cannot be borrowed as mutable [INFO] [stdout] | [INFO] [stdout] help: `SplitStream>>` doesn't implement `Clone`, so this call clones the reference `&SplitStream>>` [INFO] [stdout] --> src/adapters/chrome.rs:135:33 [INFO] [stdout] | [INFO] [stdout] 135 | let mut read = read.clone(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] help: consider specifying this binding's type [INFO] [stdout] | [INFO] [stdout] 135 | let mut read: &mut SplitStream>> = read.clone(); [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/adapters/chrome.rs:133:71 [INFO] [stdout] | [INFO] [stdout] 133 | async fn receive_message(&self) -> Result { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 134 | | if let Some((_, read)) = &*self.ws_stream.lock().unwrap() { [INFO] [stdout] 135 | | let mut read = read.clone(); [INFO] [stdout] ... | [INFO] [stdout] 168 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: within `{async block@src/adapters/chrome.rs:133:71: 168:6}`, the trait `std::marker::Send` is not implemented for `MutexGuard<'_, Option<(SplitSink, ...>, ...)>>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/adapters/chrome.rs:137:31 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some((_, read)) = &*self.ws_stream.lock().unwrap() { [INFO] [stdout] | ------------------------------ has type `std::sync::MutexGuard<'_, Option<(SplitSink>, tokio_tungstenite::tungstenite::Message>, SplitStream>>)>>` which is not `Send` [INFO] [stdout] ... [INFO] [stdout] 137 | match read.next().await { [INFO] [stdout] | ^^^^^ await occurs here, with `self.ws_stream.lock().unwrap()` maybe used later [INFO] [stdout] = note: required for the cast from `Pin>` to `Pin> + Send>>` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/janus_client-7a76c3030a197dff.long-type-7606721074928967334.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0027, E0583, E0596, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0027`. [INFO] [stdout] [INFO] [stderr] error: could not compile `janus_client` (lib) due to 26 previous errors; 5 warnings emitted [INFO] running `Command { std: "docker" "inspect" "b961b913cd8715f621f8753d7a83f736e1fc1517b7546b944ec7e892710b9fc3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b961b913cd8715f621f8753d7a83f736e1fc1517b7546b944ec7e892710b9fc3", kill_on_drop: false }` [INFO] [stdout] b961b913cd8715f621f8753d7a83f736e1fc1517b7546b944ec7e892710b9fc3