[INFO] fetching crate qsocket 0.1.3...
[INFO] testing qsocket-0.1.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate qsocket 0.1.3 into /workspace/builds/worker-0-tc2/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-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate qsocket 0.1.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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.100.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 76 packages to highest compatible versions
[INFO] [stderr]       Adding base64 v0.21.7 (available: v0.23.1)
[INFO] [stderr]       Adding chacha20 v0.9.1 (available: v0.10.2)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding md5 v0.7.0 (available: v0.8.1)
[INFO] [stderr]       Adding rand v0.8.8 (available: v0.10.3)
[INFO] [stderr]       Adding rustls v0.20.9 (available: v0.23.46)
[INFO] [stderr]       Adding sha2 v0.10.9 (available: v0.11.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.21)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97
[INFO] running `Command { std: "docker" "start" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling inout v0.1.4
[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 hkdf v0.12.4
[INFO] [stderr]    Compiling chacha20 v0.9.1
[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] warning: unused dependency `anyhow`
[INFO] [stderr]  --> Cargo.toml:1:15
[INFO] [stderr]   |
[INFO] [stderr] 1 | [dependencies.anyhow]
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: unused dependency `rand`
[INFO] [stderr]   --> Cargo.toml:19:15
[INFO] [stderr]    |
[INFO] [stderr] 19 | [dependencies.rand]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rand`
[INFO] [stderr] warning: `qsocket` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 28.74s
[INFO] running `Command { std: "docker" "inspect" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling qsocket v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]  --> Cargo.toml:1:15
[INFO] [stderr]   |
[INFO] [stderr] 1 | [dependencies.anyhow]
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: unused dependency `rand`
[INFO] [stderr]   --> Cargo.toml:19:15
[INFO] [stderr]    |
[INFO] [stderr] 19 | [dependencies.rand]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rand`
[INFO] [stderr] warning: `qsocket` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.54s
[INFO] running `Command { std: "docker" "inspect" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]  --> Cargo.toml:1:15
[INFO] [stderr]   |
[INFO] [stderr] 1 | [dependencies.anyhow]
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: unused dependency `rand`
[INFO] [stderr]   --> Cargo.toml:19:15
[INFO] [stderr]    |
[INFO] [stderr] 19 | [dependencies.rand]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rand`
[INFO] [stderr] warning: `qsocket` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/qsocket/f26f6ca1d00cc343/out/qsocket-f26f6ca1d00cc343)
[INFO] [stderr]    Doc-tests qsocket
[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] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test src/lib.rs - QSocket::set_nonblocking (line 584) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::shutdown (line 635) - compile ... FAILED
[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::get_forward_addr (line 386) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::new_knock_sequence (line 301) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::dial_with (line 422) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::is_server (line 360) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - QSocket::new (line 272) - 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 - calc_checksum (line 706) - compile ... ok
[INFO] [stdout] test src/lib.rs - QSocket::is_client (line 347) - 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::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] 590 | 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]    --> 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] 590 | 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] 585 | 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] 591 | 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] 585 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_584_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 586 | use qsocket;
[INFO] [stdout] ...
[INFO] [stdout] 607 | println!("bytes: {buf:?}");
[INFO] [stdout] 608 +     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::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] 640 | 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]    --> 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] 640 | 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] 641 | qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout]     |       ^^^^ ------------------------ unexpected argument of type `SocketType`
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> 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] 641 - qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout] 641 + 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] 636 | 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] 641 | 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] 636 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_635_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 637 | use qsocket;
[INFO] [stdout] ...
[INFO] [stdout] 642 | qsock.shutdown(Shutdown::Both).expect("shutdown call failed");
[INFO] [stdout] 643 +     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::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] 511 | 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]    --> 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] 511 | 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] 512 | qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout]     |       ^^^^ ------------------------ unexpected argument of type `SocketType`
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> 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] 512 - qsock.dial(qsocket::SocketType::E2E)?;
[INFO] [stdout] 512 + 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] 506 | 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] 512 | 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] 506 | 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] 515 | 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/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/error.rs:472:4
[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] 406 | 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]    --> 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] 406 | 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] 404 | 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] 407 | 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] 404 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_403_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 405 | use qsocket;
[INFO] [stdout] 406 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout] 407 | qsock.dial()?;
[INFO] [stdout] 408 +     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] 388 | 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::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] 312 | assert!(knock[0..15].eq(test_case[0..15]);
[INFO] [stdout]     |        - unclosed delimiter
[INFO] [stdout] 313 | assert!(knock[16], 0x00);
[INFO] [stdout] 314 | 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::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] 425 | 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]    --> 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] 425 | 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] 423 | 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] 426 | 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] 423 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_422_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 424 | use qsocket;
[INFO] [stdout] 425 | let mut qsock = qsocket::QSocket::new("my-secret");
[INFO] [stdout] 426 | qsock.dial_with(qsocket::SocketType::TLS)?;
[INFO] [stdout] 427 +     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]: cannot find type `PeerType` in this scope
[INFO] [stdout]    --> src/lib.rs:364:39
[INFO] [stdout]     |
[INFO] [stdout] 364 | let mut qsock = qsocket::QSocket::new(PeerType::Server, "my-secret");
[INFO] [stdout]     |                                       ^^^^^^^^ use of undeclared type `PeerType`
[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::new (line 272) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `PeerType` in this scope
[INFO] [stdout]    --> src/lib.rs:276:39
[INFO] [stdout]     |
[INFO] [stdout] 276 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]     |                                       ^^^^^^^^ use of undeclared type `PeerType`
[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] 336 | 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] 336 - let mut qsock - qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout] 336 + 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] 337 | 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] 336 | 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] 551 | 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]    --> 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] 551 | 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] 547 | 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] 552 | 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] 547 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_546_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 548 | use qsocket;
[INFO] [stdout] ...
[INFO] [stdout] 554 | qsock.set_write_timeout(None).expect("set_write_timeout call failed");
[INFO] [stdout] 555 +     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]: cannot find type `PeerType` in this scope
[INFO] [stdout]    --> src/lib.rs:351:39
[INFO] [stdout]     |
[INFO] [stdout] 351 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]     |                                       ^^^^^^^^ use of undeclared type `PeerType`
[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]: cannot find type `PeerType` in this scope
[INFO] [stdout]    --> src/lib.rs:376:39
[INFO] [stdout]     |
[INFO] [stdout] 376 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout]     |                                       ^^^^^^^^ use of undeclared type `PeerType`
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:377:24
[INFO] [stdout]     |
[INFO] [stdout] 377 | 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]    --> 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] 377 | 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] 374 | 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] 377 | 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] 374 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_373_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 375 | use qsocket;
[INFO] [stdout] 376 | let mut qsock = qsocket::QSocket::new(PeerType::Client, "my-secret");
[INFO] [stdout] 377 | qsock.set_forward_addr("127.0.0.1:22")?;
[INFO] [stdout] 378 +     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.34s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97", kill_on_drop: false }`
[INFO] [stdout] d6b2741c1f8ac1f8a1eb8273fb6d5ad2057724211267f50204d1770349167f97
