[INFO] fetching crate qsocket 0.1.3...
[INFO] testing qsocket-0.1.3 against nightly-2025-01-18 for randomize-layout-2
[INFO] extracting crate qsocket 0.1.3 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate qsocket 0.1.3 on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 76 packages to latest compatible versions
[INFO] [stderr]       Adding base64 v0.21.7 (available: v0.22.1)
[INFO] [stderr]       Adding rustls v0.20.9 (available: v0.23.21)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.11)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "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-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d53d1e422dab7d9129ae42b8dd6efc85b495dcdabcadc792ea481c7a41292be6
[INFO] running `Command { std: "docker" "start" "-a" "d53d1e422dab7d9129ae42b8dd6efc85b495dcdabcadc792ea481c7a41292be6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d53d1e422dab7d9129ae42b8dd6efc85b495dcdabcadc792ea481c7a41292be6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d53d1e422dab7d9129ae42b8dd6efc85b495dcdabcadc792ea481c7a41292be6", kill_on_drop: false }`
[INFO] [stdout] d53d1e422dab7d9129ae42b8dd6efc85b495dcdabcadc792ea481c7a41292be6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b88da4361c7abee6e3d76563ac081a1c235a9805d555da4b3f8dd73308a57767
[INFO] running `Command { std: "docker" "start" "-a" "b88da4361c7abee6e3d76563ac081a1c235a9805d555da4b3f8dd73308a57767", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling semver v1.0.25
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling cpufeatures v0.2.16
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling log v0.4.25
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling cc v1.2.10
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling inout v0.1.3
[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.8
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling spake2 v0.4.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling webpki v0.22.4
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling qsocket v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.99s
[INFO] running `Command { std: "docker" "inspect" "b88da4361c7abee6e3d76563ac081a1c235a9805d555da4b3f8dd73308a57767", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b88da4361c7abee6e3d76563ac081a1c235a9805d555da4b3f8dd73308a57767", kill_on_drop: false }`
[INFO] [stdout] b88da4361c7abee6e3d76563ac081a1c235a9805d555da4b3f8dd73308a57767
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 21e30ed7ba15a3083370cd41d143fa13e0c462faa6dc4adc127b1e2380bcad64
[INFO] running `Command { std: "docker" "start" "-a" "21e30ed7ba15a3083370cd41d143fa13e0c462faa6dc4adc127b1e2380bcad64", 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.50s
[INFO] running `Command { std: "docker" "inspect" "21e30ed7ba15a3083370cd41d143fa13e0c462faa6dc4adc127b1e2380bcad64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21e30ed7ba15a3083370cd41d143fa13e0c462faa6dc4adc127b1e2380bcad64", kill_on_drop: false }`
[INFO] [stdout] 21e30ed7ba15a3083370cd41d143fa13e0c462faa6dc4adc127b1e2380bcad64
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4ee7a2565a93860870e32339c99183c729483931f53f8c036a1ade5f985660e6
[INFO] running `Command { std: "docker" "start" "-a" "4ee7a2565a93860870e32339c99183c729483931f53f8c036a1ade5f985660e6", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/qsocket-90bac0022a179f65)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests 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::set_nonblocking (line 584) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::new (line 272) - 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_cert_fingerprint (line 332) - 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::set_write_timeout (line 546) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::is_client (line 347) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::is_server (line 360) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::get_forward_addr (line 386) - 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::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: the trait `FromResidual<Result<Infallible, QSocketError>>` is not implemented for `()`
[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::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::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: the trait `FromResidual<Result<Infallible, QSocketError>>` is not implemented for `()`
[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: the trait `FromResidual<Result<Infallible, QSocketError>>` is not implemented for `()`
[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_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_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: the trait `FromResidual<Result<Infallible, QSocketError>>` is not implemented for `()`
[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/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/error.rs:992: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: the trait `FromResidual<Result<Infallible, QSocketError>>` is not implemented for `()`
[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::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: the trait `FromResidual<Result<Infallible, QSocketError>>` is not implemented for `()`
[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::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::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::get_forward_addr (line 386) stdout ----
[INFO] [stdout] error: expected `;`, found `assert_eq`
[INFO] [stdout]  --> src/lib.rs:390:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | qsock.set_forward_addr("127.0.0.:22")?
[INFO] [stdout]   |                                       ^ help: add `;` here
[INFO] [stdout] 8 | assert_eq!(qsock.get_forward_addr().unwrap().to_string(), "127.0.0.1:22");
[INFO] [stdout]   | --------- unexpected token
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PeerType`
[INFO] [stdout]  --> src/lib.rs:389: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: aborting due to 2 previous errors
[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]     |       ---------------- ^^^^^^^^^^^^^^- help: try using a conversion method: `.to_string()`
[INFO] [stdout]     |       |                |
[INFO] [stdout]     |       |                expected `String`, found `&str`
[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] 
[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: the trait `FromResidual<Result<Infallible, QSocketError>>` is not implemented for `()`
[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.39s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "4ee7a2565a93860870e32339c99183c729483931f53f8c036a1ade5f985660e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ee7a2565a93860870e32339c99183c729483931f53f8c036a1ade5f985660e6", kill_on_drop: false }`
[INFO] [stdout] 4ee7a2565a93860870e32339c99183c729483931f53f8c036a1ade5f985660e6
