[INFO] fetching crate qsocket 0.1.3...
[INFO] testing qsocket-0.1.3 against 1.91.0 for beta-1.92-2
[INFO] extracting crate qsocket 0.1.3 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate qsocket 0.1.3
[INFO] finished tweaking crates.io crate qsocket 0.1.3
[INFO] tweaked toml for crates.io crate qsocket 0.1.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate qsocket 0.1.3 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 75 packages to latest compatible versions
[INFO] [stderr]       Adding base64 v0.21.7 (available: v0.22.1)
[INFO] [stderr]       Adding md5 v0.7.0 (available: v0.8.0)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding rustls v0.20.9 (available: v0.23.35)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded spake2 v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 88d4c84d11d9f61f921b35e80f94bab3ec5a9a9176da872e3954ade2d8cdb7ef
[INFO] running `Command { std: "docker" "start" "-a" "88d4c84d11d9f61f921b35e80f94bab3ec5a9a9176da872e3954ade2d8cdb7ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88d4c84d11d9f61f921b35e80f94bab3ec5a9a9176da872e3954ade2d8cdb7ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88d4c84d11d9f61f921b35e80f94bab3ec5a9a9176da872e3954ade2d8cdb7ef", kill_on_drop: false }`
[INFO] [stdout] 88d4c84d11d9f61f921b35e80f94bab3ec5a9a9176da872e3954ade2d8cdb7ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f3f6404edadc84b8f7b06fc3de53219696d16cdcbeb3e8f53b991a3af38430a5
[INFO] running `Command { std: "docker" "start" "-a" "f3f6404edadc84b8f7b06fc3de53219696d16cdcbeb3e8f53b991a3af38430a5", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling spake2 v0.4.0
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling webpki v0.22.4
[INFO] [stderr]    Compiling qsocket v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.44s
[INFO] running `Command { std: "docker" "inspect" "f3f6404edadc84b8f7b06fc3de53219696d16cdcbeb3e8f53b991a3af38430a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3f6404edadc84b8f7b06fc3de53219696d16cdcbeb3e8f53b991a3af38430a5", kill_on_drop: false }`
[INFO] [stdout] f3f6404edadc84b8f7b06fc3de53219696d16cdcbeb3e8f53b991a3af38430a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 336dd360bfcf3d45c6a0da06c81d6f3b78c0bb4ee2bd813ad2822baa5936e494
[INFO] running `Command { std: "docker" "start" "-a" "336dd360bfcf3d45c6a0da06c81d6f3b78c0bb4ee2bd813ad2822baa5936e494", kill_on_drop: false }`
[INFO] [stderr]    Compiling qsocket v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.56s
[INFO] running `Command { std: "docker" "inspect" "336dd360bfcf3d45c6a0da06c81d6f3b78c0bb4ee2bd813ad2822baa5936e494", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "336dd360bfcf3d45c6a0da06c81d6f3b78c0bb4ee2bd813ad2822baa5936e494", kill_on_drop: false }`
[INFO] [stdout] 336dd360bfcf3d45c6a0da06c81d6f3b78c0bb4ee2bd813ad2822baa5936e494
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.91.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d37a6a6a70e157fb873cd4b244d591dbab768493af6ec779628d72b0d6c9206b
[INFO] running `Command { std: "docker" "start" "-a" "d37a6a6a70e157fb873cd4b244d591dbab768493af6ec779628d72b0d6c9206b", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/qsocket-73d918eb0b4ee782)
[INFO] [stderr]    Doc-tests qsocket
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test src/lib.rs - QSocket::new_knock_sequence (line 301) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::shutdown (line 635) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::dial_with (line 422) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::set_nonblocking (line 584) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::get_forward_addr (line 386) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - calc_checksum (line 706) - compile ... ok
[INFO] [stdout] test src/lib.rs - QSocket::set_read_timeout (line 505) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::dial (line 403) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::is_server (line 360) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::is_client (line 347) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::set_cert_fingerprint (line 332) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::set_write_timeout (line 546) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::new (line 272) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::set_forward_addr (line 373) - compile ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - QSocket::new_knock_sequence (line 301) stdout ----
[INFO] [stdout] error: this file contains an unclosed delimiter
[INFO] [stdout]   --> src/lib.rs:314:44
[INFO] [stdout]    |
[INFO] [stdout] 11 | assert!(knock[0..15].eq(test_case[0..15]);
[INFO] [stdout]    |        - unclosed delimiter
[INFO] [stdout] 12 | assert!(knock[16], 0x00);
[INFO] [stdout] 13 | assert!(knock[19], PeerType::Client as u8);
[INFO] [stdout]    |                                            ^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::shutdown (line 635) stdout ----
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:640:17
[INFO] [stdout]     |
[INFO] [stdout]   8 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ ----------- argument #1 of type `PeerType` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn new(peer_type: PeerType, secret: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout]   8 | let mut qsock = qsocket::QSocket::new(/* PeerType */, "my-secret");
[INFO] [stdout]     |                                       +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:641:7
[INFO] [stdout]     |
[INFO] [stdout]   9 | qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout]     |       ^^^^ ------------------------ unexpected argument of type `SocketType`
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:408:12
[INFO] [stdout]     |
[INFO] [stdout] 408 |     pub fn dial(&mut self) -> Result<(), QSocketError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout]   9 - qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout]   9 + qsock.dial()?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]  --> src/lib.rs:641:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_635_0() {
[INFO] [stdout]   |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 9 | qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout]   |                                     ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]   |
[INFO] [stdout] 4 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_635_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 5 | use qsocket;
[INFO] [stdout] ...
[INFO] [stdout] 10| qsock.shutdown(Shutdown::Both).expect("shutdown call failed");
[INFO] [stdout] 11+     Ok(())
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::dial_with (line 422) stdout ----
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout]   6 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ ----------- argument #1 of type `PeerType` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn new(peer_type: PeerType, secret: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout]   6 | let mut qsock = qsocket::QSocket::new(/* PeerType */, "my-secret");
[INFO] [stdout]     |                                       +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]  --> src/lib.rs:426:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_422_0() {
[INFO] [stdout]   |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 7 | qsock.dial_with(qsocket::SocketType::TLS)?;
[INFO] [stdout]   |                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]   |
[INFO] [stdout] 4 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_422_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 5 | use qsocket;
[INFO] [stdout] 6 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout] 7 | qsock.dial_with(qsocket::SocketType::TLS)?;
[INFO] [stdout] 8 +     Ok(())
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::set_nonblocking (line 584) stdout ----
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:590:17
[INFO] [stdout]     |
[INFO] [stdout]   9 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ ----------- argument #1 of type `PeerType` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn new(peer_type: PeerType, secret: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout]   9 | let mut qsock = qsocket::QSocket::new(/* PeerType */, "my-secret");
[INFO] [stdout]     |                                       +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/lib.rs:591:13
[INFO] [stdout]    |
[INFO] [stdout]  4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_584_0() {
[INFO] [stdout]    |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 10 | qsock.dial()?;
[INFO] [stdout]    |             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout]  4 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_584_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]  5 | use qsocket;
[INFO] [stdout] ...
[INFO] [stdout] 26 | println!("bytes: {buf:?}");
[INFO] [stdout] 27 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::get_forward_addr (line 386) stdout ----
[INFO] [stdout] error: expected item, found keyword `let`
[INFO] [stdout]  --> src/lib.rs:388:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]   | ^^^ `let` cannot be used for global variables
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using `static` and a `Mutex` instead of `let mut`
[INFO] [stdout]   = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::set_read_timeout (line 505) stdout ----
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:511:17
[INFO] [stdout]     |
[INFO] [stdout]   9 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ ----------- argument #1 of type `PeerType` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn new(peer_type: PeerType, secret: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout]   9 | let mut qsock = qsocket::QSocket::new(/* PeerType */, "my-secret");
[INFO] [stdout]     |                                       +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:512:7
[INFO] [stdout]     |
[INFO] [stdout]  10 | qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout]     |       ^^^^ ------------------------ unexpected argument of type `SocketType`
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:408:12
[INFO] [stdout]     |
[INFO] [stdout] 408 |     pub fn dial(&mut self) -> Result<(), QSocketError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout]  10 - qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout]  10 + qsock.dial()?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/lib.rs:512:37
[INFO] [stdout]    |
[INFO] [stdout]  4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_505_0() {
[INFO] [stdout]    |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 10 | qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout]    |                                     ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout]  4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_505_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                                                          +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `kind` found for enum `QSocketError` in the current scope
[INFO] [stdout]   --> src/lib.rs:515:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | assert_eq!(err.kind(), std::io::ErrorKind::InvalidInput)
[INFO] [stdout]    |                ^^^^ method not found in `QSocketError`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `kind` exists on the type `std::io::Error`
[INFO] [stdout]   --> /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/io/error.rs:998:5
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::dial (line 403) stdout ----
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:406:17
[INFO] [stdout]     |
[INFO] [stdout]   6 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ ----------- argument #1 of type `PeerType` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn new(peer_type: PeerType, secret: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout]   6 | let mut qsock = qsocket::QSocket::new(/* PeerType */, "my-secret");
[INFO] [stdout]     |                                       +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]  --> src/lib.rs:407:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_403_0() {
[INFO] [stdout]   |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 7 | qsock.dial()?;
[INFO] [stdout]   |             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]   |
[INFO] [stdout] 4 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_403_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 5 | use qsocket;
[INFO] [stdout] 6 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout] 7 | qsock.dial()?;
[INFO] [stdout] 8 +     Ok(())
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::is_server (line 360) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PeerType`
[INFO] [stdout]  --> src/lib.rs:364:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | let mut qsock = qsocket::QSocket::new(PeerType::Server, "my-secret");
[INFO] [stdout]   |                                       ^^^^^^^^ use of undeclared type `PeerType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use qsocket::PeerType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::is_client (line 347) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PeerType`
[INFO] [stdout]  --> src/lib.rs:351:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]   |                                       ^^^^^^^^ use of undeclared type `PeerType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use qsocket::PeerType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::set_cert_fingerprint (line 332) stdout ----
[INFO] [stdout] error: `mut` must be followed by a named binding
[INFO] [stdout]  --> src/lib.rs:336:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | let mut qsock - qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `mut` may be followed by `variable` and `variable @ pattern`
[INFO] [stdout] help: remove the `mut` prefix
[INFO] [stdout]   |
[INFO] [stdout] 7 - let mut qsock - qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout] 7 + let qsock - qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `qsock` in this scope
[INFO] [stdout]  --> src/lib.rs:337:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | qsock.set_cert_fingerprint("32ADEB12BA582C97E157D10699080C1598ECC3793C09D19020EDF51CDC67C145")
[INFO] [stdout]   | ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: expected a pattern, found an expression
[INFO] [stdout]  --> src/lib.rs:336:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | let mut qsock - qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a pattern
[INFO] [stdout]   |
[INFO] [stdout]   = note: arbitrary expressions are not allowed in patterns: <https://doc.rust-lang.org/book/ch19-00-patterns.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::set_write_timeout (line 546) stdout ----
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:551:17
[INFO] [stdout]     |
[INFO] [stdout]   8 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ ----------- argument #1 of type `PeerType` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn new(peer_type: PeerType, secret: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout]   8 | let mut qsock = qsocket::QSocket::new(/* PeerType */, "my-secret");
[INFO] [stdout]     |                                       +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]  --> src/lib.rs:552:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_546_0() {
[INFO] [stdout]   |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 9 | qsock.dial()?;
[INFO] [stdout]   |             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]   |
[INFO] [stdout] 4 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_546_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 5 | use qsocket;
[INFO] [stdout] ...
[INFO] [stdout] 11| qsock.set_write_timeout(None).expect("set_write_timeout call failed");
[INFO] [stdout] 12+     Ok(())
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::new (line 272) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PeerType`
[INFO] [stdout]  --> src/lib.rs:276:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]   |                                       ^^^^^^^^ use of undeclared type `PeerType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use qsocket::PeerType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - QSocket::set_forward_addr (line 373) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PeerType`
[INFO] [stdout]  --> src/lib.rs:376:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]   |                                       ^^^^^^^^ use of undeclared type `PeerType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use qsocket::PeerType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:377:24
[INFO] [stdout]     |
[INFO] [stdout]   7 | qsock.set_forward_addr("127.0.0.1:22")?;
[INFO] [stdout]     |       ---------------- ^^^^^^^^^^^^^^ expected `String`, found `&str`
[INFO] [stdout]     |       |
[INFO] [stdout]     |       arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/lib.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn set_forward_addr(&mut self, addr: String) -> Result<(), QSocketError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout]   7 | qsock.set_forward_addr("127.0.0.1:22".to_string())?;
[INFO] [stdout]     |                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]  --> src/lib.rs:377:39
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_373_0() {
[INFO] [stdout]   |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 7 | qsock.set_forward_addr("127.0.0.1:22")?;
[INFO] [stdout]   |                                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]   |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]   |
[INFO] [stdout] 4 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_373_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 5 | use qsocket;
[INFO] [stdout] 6 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout] 7 | qsock.set_forward_addr("127.0.0.1:22")?;
[INFO] [stdout] 8 +     Ok(())
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - QSocket::dial (line 403)
[INFO] [stdout]     src/lib.rs - QSocket::dial_with (line 422)
[INFO] [stdout]     src/lib.rs - QSocket::get_forward_addr (line 386)
[INFO] [stdout]     src/lib.rs - QSocket::is_client (line 347)
[INFO] [stdout]     src/lib.rs - QSocket::is_server (line 360)
[INFO] [stdout]     src/lib.rs - QSocket::new (line 272)
[INFO] [stdout]     src/lib.rs - QSocket::new_knock_sequence (line 301)
[INFO] [stdout]     src/lib.rs - QSocket::set_cert_fingerprint (line 332)
[INFO] [stdout]     src/lib.rs - QSocket::set_forward_addr (line 373)
[INFO] [stdout]     src/lib.rs - QSocket::set_nonblocking (line 584)
[INFO] [stdout]     src/lib.rs - QSocket::set_read_timeout (line 505)
[INFO] [stdout]     src/lib.rs - QSocket::set_write_timeout (line 546)
[INFO] [stdout]     src/lib.rs - QSocket::shutdown (line 635)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "d37a6a6a70e157fb873cd4b244d591dbab768493af6ec779628d72b0d6c9206b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d37a6a6a70e157fb873cd4b244d591dbab768493af6ec779628d72b0d6c9206b", kill_on_drop: false }`
[INFO] [stdout] d37a6a6a70e157fb873cd4b244d591dbab768493af6ec779628d72b0d6c9206b
