[INFO] fetching crate ws-tool 0.11.1...
[INFO] testing ws-tool-0.11.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate ws-tool 0.11.1 into /workspace/builds/worker-0-tc1/source
[INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml
[INFO] started tweaking crates.io crate ws-tool 0.11.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate ws-tool 0.11.1
[INFO] tweaked toml for crates.io crate ws-tool 0.11.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ws-tool 0.11.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ws-tool 0.11.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustls-connector v0.16.1
[INFO] [stderr]   Downloaded hproxy v0.1.0
[INFO] [stderr]   Downloaded wildmatch v2.4.0
[INFO] [stderr]   Downloaded tabled_derive v0.6.0
[INFO] [stderr]   Downloaded headers-core v0.3.0
[INFO] [stderr]   Downloaded poem-derive v2.0.1
[INFO] [stderr]   Downloaded rfc7239 v0.1.3
[INFO] [stderr]   Downloaded papergrid v0.10.0
[INFO] [stderr]   Downloaded bytecount v0.6.8
[INFO] [stderr]   Downloaded fastwebsockets v0.5.0
[INFO] [stderr]   Downloaded rcgen v0.11.3
[INFO] [stderr]   Downloaded webpki v0.22.4
[INFO] [stderr]   Downloaded tungstenite v0.20.1
[INFO] [stderr]   Downloaded headers v0.4.0
[INFO] [stderr]   Downloaded tabled v0.13.0
[INFO] [stderr]   Downloaded rustls v0.20.9
[INFO] [stderr]   Downloaded icu_properties_data v2.0.0
[INFO] [stderr]   Downloaded poem v2.0.1
[INFO] [stderr]   Downloaded icu_properties v2.0.0
[INFO] [stderr]   Downloaded tokio v1.45.0
[INFO] [stderr]   Downloaded sproxy v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d5ef679922cc1a323dfa2a432e791e41814e07eb51866bfe94ad3a8ee1fd213d
[INFO] running `Command { std: "docker" "start" "-a" "d5ef679922cc1a323dfa2a432e791e41814e07eb51866bfe94ad3a8ee1fd213d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5ef679922cc1a323dfa2a432e791e41814e07eb51866bfe94ad3a8ee1fd213d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5ef679922cc1a323dfa2a432e791e41814e07eb51866bfe94ad3a8ee1fd213d", kill_on_drop: false }`
[INFO] [stdout] d5ef679922cc1a323dfa2a432e791e41814e07eb51866bfe94ad3a8ee1fd213d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4ffa55ecf278d705512be84a77ff37f22f3051d2174df1f73138ab656a7f506b
[INFO] running `Command { std: "docker" "start" "-a" "4ffa55ecf278d705512be84a77ff37f22f3051d2174df1f73138ab656a7f506b", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.21
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling base64 v0.20.0
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling rustls-native-certs v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling webpki v0.22.4
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling webpki-roots v0.22.6
[INFO] [stderr]    Compiling rustls-connector v0.16.1
[INFO] [stderr]    Compiling ws-tool v0.11.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `docrs`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(docrs, feature(doc_auto_cfg))]
[INFO] [stdout]   |             ^^^^^ help: there is a config with a similar name: `docsrs`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(docrs)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(docrs)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TcpReadHalf` is never constructed
[INFO] [stdout]   --> src/codec/mod.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub struct TcpReadHalf(pub TcpStream);
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TcpWriteHalf` is never constructed
[INFO] [stdout]   --> src/codec/mod.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub struct TcpWriteHalf(pub TcpStream);
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/codec/binary/blocking.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |         pub fn receive(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]    |                        ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 92 |     impl_recv! {}
[INFO] [stdout]    |     ------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/binary/blocking.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  18 |         pub fn receive(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 151 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  18 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:20:28
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                            ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 124 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:40:24
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<str>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 124 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, str>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:20:28
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                            ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 186 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:40:24
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<str>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 186 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, str>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.14s
[INFO] running `Command { std: "docker" "inspect" "4ffa55ecf278d705512be84a77ff37f22f3051d2174df1f73138ab656a7f506b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ffa55ecf278d705512be84a77ff37f22f3051d2174df1f73138ab656a7f506b", kill_on_drop: false }`
[INFO] [stdout] 4ffa55ecf278d705512be84a77ff37f22f3051d2174df1f73138ab656a7f506b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4b2613a12636b131d7c974516f40425f9b9d665c5a6dbf4fba981da616f6d33b
[INFO] running `Command { std: "docker" "start" "-a" "4b2613a12636b131d7c974516f40425f9b9d665c5a6dbf4fba981da616f6d33b", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling icu_properties_data v2.0.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling tokio v1.45.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling bytecount v0.6.8
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling papergrid v0.10.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling pem v3.0.5
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling socks v0.3.4
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rcgen v0.11.3
[INFO] [stderr]    Compiling tabled_derive v0.6.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling tabled v0.13.0
[INFO] [stderr]    Compiling rustls-connector v0.16.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling ws-tool v0.11.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `docrs`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(docrs, feature(doc_auto_cfg))]
[INFO] [stdout]   |             ^^^^^ help: there is a config with a similar name: `docsrs`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(docrs)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(docrs)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.0
[INFO] [stdout] warning: struct `TcpReadHalf` is never constructed
[INFO] [stdout]   --> src/codec/mod.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub struct TcpReadHalf(pub TcpStream);
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TcpWriteHalf` is never constructed
[INFO] [stdout]   --> src/codec/mod.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub struct TcpWriteHalf(pub TcpStream);
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/codec/binary/blocking.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |         pub fn receive(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]    |                        ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 92 |     impl_recv! {}
[INFO] [stdout]    |     ------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/binary/blocking.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  18 |         pub fn receive(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 151 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  18 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:20:28
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                            ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 124 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:40:24
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<str>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 124 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, str>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:20:28
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                            ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 186 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:40:24
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<str>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 186 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, str>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hproxy v0.1.0
[INFO] [stderr]    Compiling sproxy v0.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling tungstenite v0.20.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling fastwebsockets v0.5.0
[INFO] [stdout] error[E0432]: unresolved import `ws_tool::codec::AsyncStringCodec`
[INFO] [stdout]  --> examples/echo.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ws_tool::{codec::AsyncStringCodec, ClientConfig};
[INFO] [stdout]   |               ^^^^^^^----------------
[INFO] [stdout]   |               |      |
[INFO] [stdout]   |               |      help: a similar name exists in the module: `StringCodec`
[INFO] [stdout]   |               no `AsyncStringCodec` in `codec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `ws_tool::codec::AsyncFrameCodec`, `ws_tool::codec::AsyncStringCodec`
[INFO] [stdout]  --> examples/autobahn_async_client.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     codec::{AsyncFrameCodec, AsyncStringCodec},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^ no `AsyncStringCodec` in `codec`
[INFO] [stdout]   |             |
[INFO] [stdout]   |             no `AsyncFrameCodec` in `codec`
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 5 -     codec::{AsyncFrameCodec, AsyncStringCodec},
[INFO] [stdout] 5 +     codec::{FrameCodec, AsyncStringCodec},
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 5 -     codec::{AsyncFrameCodec, AsyncStringCodec},
[INFO] [stdout] 5 +     codec::{AsyncFrameCodec, StringCodec},
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `async_connect_with` found for struct `ClientConfig` in the current scope
[INFO] [stdout]   --> examples/echo.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let mut client = ClientConfig {
[INFO] [stdout]    |  ______________________-
[INFO] [stdout] 31 | |         certs: args.cert.unwrap_or_default(),
[INFO] [stdout] 32 | |         ..Default::default()
[INFO] [stdout] 33 | |     }
[INFO] [stdout] 34 | |     .async_connect_with(args.uri, AsyncStringCodec::check_fn)
[INFO] [stdout]    | |_____-^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `connect_with` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 34 -     .async_connect_with(args.uri, AsyncStringCodec::check_fn)
[INFO] [stdout] 34 +     .connect_with(args.uri, AsyncStringCodec::check_fn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `async_connect_with` found for struct `ClientConfig` in the current scope
[INFO] [stdout]   --> examples/autobahn_async_client.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |       let mut client = ClientConfig::default()
[INFO] [stdout]    |  ______________________-
[INFO] [stdout] 15 | |         .async_connect_with(
[INFO] [stdout]    | |_________-^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `connect_with` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 15 -         .async_connect_with(
[INFO] [stdout] 15 +         .connect_with(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/echo.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let mut client = ClientConfig {
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 31 | |         certs: args.cert.unwrap_or_default(),
[INFO] [stdout] 32 | |         ..Default::default()
[INFO] [stdout] ...  |
[INFO] [stdout] 35 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/echo.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         client.send(&input).await.unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |       let mut client = ClientConfig::default()
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 15 | |         .async_connect_with(
[INFO] [stdout] 16 | |             "ws://localhost:9002/getCaseCount",
[INFO] [stdout] 17 | |             AsyncStringCodec::check_fn,
[INFO] [stdout] 18 | |         )
[INFO] [stdout] 19 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let msg = client.receive().await.unwrap();
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/echo.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     client.close(1000, "bye").await.ok();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/echo.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     client.send((1000u16, "done")).await.ok();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ws_tool::codec::AsyncStringCodec`
[INFO] [stdout]   --> examples/echo_async_server.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ws_tool::codec::AsyncStringCodec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]    |     |               |
[INFO] [stdout]    |     |               help: a similar name exists in the module: `StringCodec`
[INFO] [stdout]    |     no `AsyncStringCodec` in `codec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio_rustls`
[INFO] [stdout]  --> examples/echo_async_server.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio_rustls::rustls::{self, Certificate, PrivateKey};
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_rustls`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tokio_rustls`, use `cargo add tokio_rustls` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio_rustls`
[INFO] [stdout]  --> examples/echo_async_server.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio_rustls::rustls::{self, Certificate, PrivateKey};
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_rustls`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tokio_rustls`, use `cargo add tokio_rustls` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio_rustls`
[INFO] [stdout]  --> examples/echo_async_server.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio_rustls::TlsAcceptor;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `tokio_rustls`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tokio_rustls`, use `cargo add tokio_rustls` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `async_connect_with` found for struct `ClientConfig` in the current scope
[INFO] [stdout]   --> examples/autobahn_async_client.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |       let (mut read, mut write) = ClientConfig::default()
[INFO] [stdout]    |  _________________________________-
[INFO] [stdout] 30 | |         .async_connect_with(url, AsyncFrameCodec::check_fn)
[INFO] [stdout]    | |_________-^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `connect_with` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 30 -         .async_connect_with(url, AsyncFrameCodec::check_fn)
[INFO] [stdout] 30 +         .connect_with(url, AsyncFrameCodec::check_fn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:29:33
[INFO] [stdout]    |
[INFO] [stdout] 29 |       let (mut read, mut write) = ClientConfig::default()
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 30 | |         .async_connect_with(url, AsyncFrameCodec::check_fn)
[INFO] [stdout] 31 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 35 |         match read.receive().await {
[INFO] [stdout]    |               ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |                         write.send(code, data).await?;
[INFO] [stdout]    |                         ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |                         write.send(OpCode::Close, &data).await.unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |                     if write.send(OpCode::Close, &data).await.is_err() {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     write.send(OpCode::Close, &1000u16.to_be_bytes()).await.ok();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `async_connect` found for struct `ClientConfig` in the current scope
[INFO] [stdout]   --> examples/autobahn_async_client.rs:80:46
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut client = ClientConfig::default().async_connect(url).await.unwrap();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `connect` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 80 -     let mut client = ClientConfig::default().async_connect(url).await.unwrap();
[INFO] [stdout] 80 +     let mut client = ClientConfig::default().connect(url).await.unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_client.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut client = ClientConfig::default().async_connect(url).await.unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ws_tool::codec::AsyncBytesCodec`
[INFO] [stdout]  --> examples/bench_async_server.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 |     codec::{default_handshake_handler, AsyncBytesCodec, FrameConfig},
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout]   |                                        |
[INFO] [stdout]   |                                        no `AsyncBytesCodec` in `codec`
[INFO] [stdout]   |                                        help: a similar name exists in the module: `BytesCodec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ws_tool::codec::AsyncStringCodec`
[INFO] [stdout]  --> examples/autobahn_async_deflate_client.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |     codec::{AsyncStringCodec, WindowBit},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             no `AsyncStringCodec` in `codec`
[INFO] [stdout]   |             help: a similar name exists in the module: `StringCodec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ws-tool` (example "autobahn_async_client") due to 13 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `axum`
[INFO] [stdout]  --> examples/ext_axum.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use axum::{extract::Path, response::Response, routing::get, Router};
[INFO] [stdout]   |     ^^^^ use of unresolved module or unlinked crate `axum`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `axum`, use `cargo add axum` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ws_tool::codec::AsyncStringCodec`
[INFO] [stdout]  --> examples/ext_axum.rs:4:49
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ws_tool::codec::{default_handshake_handler, AsyncStringCodec};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |                                                 |
[INFO] [stdout]   |                                                 no `AsyncStringCodec` in `codec`
[INFO] [stdout]   |                                                 help: a similar name exists in the module: `StringCodec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `axum`
[INFO] [stdout]  --> examples/ext_axum.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use axum::{extract::Path, response::Response, routing::get, Router};
[INFO] [stdout]   |     ^^^^ use of unresolved module or unlinked crate `axum`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `axum`, use `cargo add axum` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ws-tool` (example "echo") due to 6 previous errors
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `axum`
[INFO] [stdout]  --> examples/ext_axum.rs:6:47
[INFO] [stdout]   |
[INFO] [stdout] 6 | async fn ext(Path(prefix): Path<String>, req: axum::extract::Request) -> Response {
[INFO] [stdout]   |                                               ^^^^ use of unresolved module or unlinked crate `axum`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `axum`, use `cargo add axum` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `ws_tool::codec::AsyncStringCodec`, `ws_tool::connector::async_tcp_connect`, `ws_tool::connector::async_wrap_rustls`
[INFO] [stdout]  --> examples/binance.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     codec::AsyncStringCodec,
[INFO] [stdout]   |     ^^^^^^^----------------
[INFO] [stdout]   |     |      |
[INFO] [stdout]   |     |      help: a similar name exists in the module: `StringCodec`
[INFO] [stdout]   |     no `AsyncStringCodec` in `codec`
[INFO] [stdout] 6 |     connector::{async_tcp_connect, async_wrap_rustls, get_host},
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^ no `async_wrap_rustls` in `connector`
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 no `async_tcp_connect` in `connector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `async_connect_with` found for struct `ClientConfig` in the current scope
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |       let mut client = ClientConfig::default()
[INFO] [stdout]    |  ______________________-
[INFO] [stdout] 16 | |         .async_connect_with(
[INFO] [stdout]    | |_________-^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `connect_with` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 16 -         .async_connect_with(
[INFO] [stdout] 16 +         .connect_with(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |       let mut client = ClientConfig::default()
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 16 | |         .async_connect_with(
[INFO] [stdout] 17 | |             "ws://localhost:9002/getCaseCount",
[INFO] [stdout] 18 | |             AsyncStringCodec::check_fn,
[INFO] [stdout] 19 | |         )
[INFO] [stdout] 20 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let msg = client.receive().await.unwrap();
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `axum_ext` in `extension`
[INFO] [stdout]   --> examples/ext_axum.rs:7:25
[INFO] [stdout]    |
[INFO] [stdout]  7 |     ws_tool::extension::axum_ext::adapt(
[INFO] [stdout]    |                         ^^^^^^^^ could not find `axum_ext` in `extension`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/workdir/src/extension.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[cfg(feature = "axum")]
[INFO] [stdout]    |       ---------------- the item is gated behind the `axum` feature
[INFO] [stdout] 77 | pub mod axum_ext {
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `async_accept` found for struct `ServerBuilder` in the current scope
[INFO] [stdout]    --> examples/bench_async_server.rs:69:64
[INFO] [stdout]     |
[INFO] [stdout]  69 |                     let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^ function or associated item not found in `ServerBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ServerBuilder`, consider using `ws_tool::blocking::<impl ServerBuilder>::accept` which returns `Result<_, WsError>`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 | /         pub fn accept<F1, F2, T, C, S>(
[INFO] [stdout] 207 | |             mut stream: S,
[INFO] [stdout] 208 | |             mut handshake_handler: F1,
[INFO] [stdout] 209 | |             mut codec_factory: F2,
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             F2: FnMut(http::Request<()>, S) -> Result<C, WsError>,
[INFO] [stdout] 220 | |             T: ToString + std::fmt::Debug,
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] help: there is an associated function `accept` with a similar name
[INFO] [stdout]     |
[INFO] [stdout]  69 -                     let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]  69 +                     let (mut read, mut write) = ServerBuilder::accept(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/bench_async_server.rs:69:49
[INFO] [stdout]    |
[INFO] [stdout] 69 |                       let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]    |  _________________________________________________^
[INFO] [stdout] 70 | |                         stream,
[INFO] [stdout] 71 | |                         default_handshake_handler,
[INFO] [stdout] 72 | |                         |_req, stream| {
[INFO] [stdout] ...  |
[INFO] [stdout] 82 | |                     .await
[INFO] [stdout]    | |__________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/bench_async_server.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |                         let msg = read.receive().await.unwrap();
[INFO] [stdout]    |                                   ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/bench_async_server.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |                         let msg = read.receive().await.unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/bench_async_server.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         write.send(msg).await.unwrap();
[INFO] [stdout]    |                         ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/bench_async_server.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         write.send(msg).await.unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/bench_async_server.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |                     write.flush().await.unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `docrs`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(docrs, feature(doc_auto_cfg))]
[INFO] [stdout]   |             ^^^^^ help: there is a config with a similar name: `docsrs`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(docrs)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(docrs)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/ext_axum.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |                 let msg = client.receive().await.unwrap();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/ext_axum.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 client.send(&echo).await.unwrap()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `async_connect` found for struct `ClientConfig` in the current scope
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:38:6
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let (mut read, mut write) = ClientConfig {
[INFO] [stdout]    |  _________________________________-
[INFO] [stdout] 35 | |         window: Some(WindowBit::Nine),
[INFO] [stdout] 36 | |         ..Default::default()
[INFO] [stdout] 37 | |     }
[INFO] [stdout] 38 | |     .async_connect(url)
[INFO] [stdout]    | |_____-^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `connect` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 38 -     .async_connect(url)
[INFO] [stdout] 38 +     .connect(url)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let (mut read, mut write) = ClientConfig {
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 35 | |         window: Some(WindowBit::Nine),
[INFO] [stdout] 36 | |         ..Default::default()
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |         match read.receive().await {
[INFO] [stdout]    |               ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:49:54
[INFO] [stdout]    |
[INFO] [stdout] 49 |                     OpCode::Text | OpCode::Binary => write.send(code, data).await?,
[INFO] [stdout]    |                                                      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `async_accept` found for struct `ServerBuilder` in the current scope
[INFO] [stdout]    --> examples/bench_async_server.rs:96:64
[INFO] [stdout]     |
[INFO] [stdout]  96 |                     let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^ function or associated item not found in `ServerBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ServerBuilder`, consider using `ws_tool::blocking::<impl ServerBuilder>::accept` which returns `Result<_, WsError>`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 | /         pub fn accept<F1, F2, T, C, S>(
[INFO] [stdout] 207 | |             mut stream: S,
[INFO] [stdout] 208 | |             mut handshake_handler: F1,
[INFO] [stdout] 209 | |             mut codec_factory: F2,
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             F2: FnMut(http::Request<()>, S) -> Result<C, WsError>,
[INFO] [stdout] 220 | |             T: ToString + std::fmt::Debug,
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] help: there is an associated function `accept` with a similar name
[INFO] [stdout]     |
[INFO] [stdout]  96 -                     let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]  96 +                     let (mut read, mut write) = ServerBuilder::accept(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/bench_async_server.rs:96:49
[INFO] [stdout]     |
[INFO] [stdout]  96 |                       let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout]  97 | |                         stream,
[INFO] [stdout]  98 | |                         default_handshake_handler,
[INFO] [stdout]  99 | |                         AsyncBytesCodec::factory,
[INFO] [stdout] 100 | |                     )
[INFO] [stdout] 101 | |                     .await
[INFO] [stdout]     | |__________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/bench_async_server.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         let msg = read.receive().await.unwrap();
[INFO] [stdout]     |                                   ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/bench_async_server.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         let msg = read.receive().await.unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/bench_async_server.rs:109:25
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         write.send(msg).await.unwrap();
[INFO] [stdout]     |                         ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |                         write.send(OpCode::Close, &data).await.unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |                       if write
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 67 | |                         .send_owned_frame(OwnedFrame::close_frame(
[INFO] [stdout] 68 | |                             mask_key(),
[INFO] [stdout] 69 | |                             close_code,
[INFO] [stdout] 70 | |                             error.to_string().as_bytes(),
[INFO] [stdout] 71 | |                         ))
[INFO] [stdout] 72 | |                         .await
[INFO] [stdout]    | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 | /                     write
[INFO] [stdout] 81 | |                         .send_owned_frame(OwnedFrame::close_frame(mask_key(), 1000, &[]))
[INFO] [stdout] 82 | |                         .await
[INFO] [stdout]    | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/bench_async_server.rs:109:25
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         write.send(msg).await.unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `axum`
[INFO] [stdout]   --> examples/ext_axum.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     axum::serve(listener, app).await.unwrap();
[INFO] [stdout]    |     ^^^^ use of unresolved module or unlinked crate `axum`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `axum`, use `cargo add axum` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/ext_axum.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     axum::serve(listener, app).await.unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `async_connect` found for struct `ClientConfig` in the current scope
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:95:46
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut client = ClientConfig::default().async_connect(url).await.unwrap();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `connect` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 95 -     let mut client = ClientConfig::default().async_connect(url).await.unwrap();
[INFO] [stdout] 95 +     let mut client = ClientConfig::default().connect(url).await.unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/autobahn_async_deflate_client.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut client = ClientConfig::default().async_connect(url).await.unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ws-tool` (example "ext_axum") due to 9 previous errors
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/binance.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         async_tcp_connect(&uri).await.unwrap()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> examples/binance.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |       let stream = async_wrap_rustls(stream, get_host(&uri).unwrap(), vec![])
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 97 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `async_accept` found for struct `ServerBuilder` in the current scope
[INFO] [stdout]    --> examples/echo_async_server.rs:111:56
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^ function or associated item not found in `ServerBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ServerBuilder`, consider using `ws_tool::blocking::<impl ServerBuilder>::accept` which returns `Result<_, WsError>`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 | /         pub fn accept<F1, F2, T, C, S>(
[INFO] [stdout] 207 | |             mut stream: S,
[INFO] [stdout] 208 | |             mut handshake_handler: F1,
[INFO] [stdout] 209 | |             mut codec_factory: F2,
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             F2: FnMut(http::Request<()>, S) -> Result<C, WsError>,
[INFO] [stdout] 220 | |             T: ToString + std::fmt::Debug,
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] help: there is an associated function `accept` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 111 -             let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout] 111 +             let (mut read, mut write) = ServerBuilder::accept(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/echo_async_server.rs:111:41
[INFO] [stdout]     |
[INFO] [stdout] 111 |               let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 112 | |                 stream,
[INFO] [stdout] 113 | |                 default_handshake_handler,
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/echo_async_server.rs:120:33
[INFO] [stdout]     |
[INFO] [stdout] 120 |             while let Ok(msg) = read.receive().await {
[INFO] [stdout]     |                                 ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/echo_async_server.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 write.send((msg.code, msg.data)).await.unwrap();
[INFO] [stdout]     |                 ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/echo_async_server.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 write.send((msg.code, msg.data)).await.unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `async_accept` found for struct `ServerBuilder` in the current scope
[INFO] [stdout]    --> examples/echo_async_server.rs:133:56
[INFO] [stdout]     |
[INFO] [stdout] 133 |             let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^ function or associated item not found in `ServerBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ServerBuilder`, consider using `ws_tool::blocking::<impl ServerBuilder>::accept` which returns `Result<_, WsError>`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 | /         pub fn accept<F1, F2, T, C, S>(
[INFO] [stdout] 207 | |             mut stream: S,
[INFO] [stdout] 208 | |             mut handshake_handler: F1,
[INFO] [stdout] 209 | |             mut codec_factory: F2,
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             F2: FnMut(http::Request<()>, S) -> Result<C, WsError>,
[INFO] [stdout] 220 | |             T: ToString + std::fmt::Debug,
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout] help: there is an associated function `accept` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 133 -             let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout] 133 +             let (mut read, mut write) = ServerBuilder::accept(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/echo_async_server.rs:133:41
[INFO] [stdout]     |
[INFO] [stdout] 133 |               let (mut read, mut write) = ServerBuilder::async_accept(
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 134 | |                 stream,
[INFO] [stdout] 135 | |                 default_handshake_handler,
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/echo_async_server.rs:144:23
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 match read.receive().await {
[INFO] [stdout]     |                       ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/echo_async_server.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     Ok(msg) => write.send(msg).await.unwrap(),
[INFO] [stdout]     |                                ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/echo_async_server.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     Ok(msg) => write.send(msg).await.unwrap(),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ws-tool` (example "autobahn_async_deflate_client") due to 13 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ws-tool` (example "bench_async_server") due to 14 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `async_with_stream` found for struct `ClientBuilder` in the current scope
[INFO] [stdout]    --> examples/binance.rs:100:10
[INFO] [stdout]     |
[INFO] [stdout]  99 |       let mut client = builder
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 100 | |         .async_with_stream(uri, stream, AsyncStringCodec::check_fn)
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `with_stream` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 100 -         .async_with_stream(uri, stream, AsyncStringCodec::check_fn)
[INFO] [stdout] 100 +         .with_stream(uri, stream, AsyncStringCodec::check_fn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/binance.rs:99:22
[INFO] [stdout]     |
[INFO] [stdout]  99 |       let mut client = builder
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 100 | |         .async_with_stream(uri, stream, AsyncStringCodec::check_fn)
[INFO] [stdout] 101 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ws-tool` (example "echo_async_server") due to 14 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ws-tool` (example "binance") due to 5 previous errors
[INFO] [stdout] warning: struct `TcpReadHalf` is never constructed
[INFO] [stdout]   --> src/codec/mod.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub struct TcpReadHalf(pub TcpStream);
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TcpWriteHalf` is never constructed
[INFO] [stdout]   --> src/codec/mod.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub struct TcpWriteHalf(pub TcpStream);
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/codec/binary/blocking.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |         pub fn receive(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]    |                        ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 92 |     impl_recv! {}
[INFO] [stdout]    |     ------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/binary/blocking.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  18 |         pub fn receive(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 151 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  18 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:20:28
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                            ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 124 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:40:24
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<str>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 124 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, str>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:20:28
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<[u8]>>, WsError> {
[INFO] [stdout]     |                            ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 186 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         pub fn receive_raw(&mut self) -> Result<Message<Cow<'_, [u8]>>, WsError> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/codec/text/blocking.rs:40:24
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<str>>, WsError> {
[INFO] [stdout]     |                        ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 186 |     impl_recv! {}
[INFO] [stdout]     |     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_recv` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  40 |         pub fn receive(&mut self) -> Result<Message<Cow<'_, str>>, WsError> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4b2613a12636b131d7c974516f40425f9b9d665c5a6dbf4fba981da616f6d33b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b2613a12636b131d7c974516f40425f9b9d665c5a6dbf4fba981da616f6d33b", kill_on_drop: false }`
[INFO] [stdout] 4b2613a12636b131d7c974516f40425f9b9d665c5a6dbf4fba981da616f6d33b
