[INFO] fetching crate i2p_snow 0.5.1...
[INFO] checking i2p_snow-0.5.1 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate i2p_snow 0.5.1 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate i2p_snow 0.5.1 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate i2p_snow 0.5.1
[INFO] finished tweaking crates.io crate i2p_snow 0.5.1
[INFO] tweaked toml for crates.io crate i2p_snow 0.5.1 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" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 118 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding arrayvec v0.4.12 (latest: v0.7.4)
[INFO] [stderr]       Adding autocfg v0.1.8 (latest: v1.2.0)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding cast v0.2.7 (latest: v0.3.0)
[INFO] [stderr]       Adding clap v2.34.0 (latest: v4.5.4)
[INFO] [stderr]       Adding cloudabi v0.0.3 (latest: v0.1.0)
[INFO] [stderr]       Adding constant_time_eq v0.1.5 (latest: v0.3.0)
[INFO] [stderr]       Adding criterion v0.2.11 (latest: v0.5.1)
[INFO] [stderr]       Adding criterion-plot v0.3.1 (latest: v0.5.0)
[INFO] [stderr]       Adding curve25519-dalek v1.2.6 (latest: v4.1.2)
[INFO] [stderr]       Adding digest v0.8.1 (latest: v0.10.7)
[INFO] [stderr]       Adding generic-array v0.12.4 (latest: v1.0.0)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding hacl-star v0.0.13 (latest: v0.1.0)
[INFO] [stderr]       Adding hacl-star-sys v0.0.7 (latest: v0.1.0)
[INFO] [stderr]       Adding hermit-abi v0.1.19 (latest: v0.3.9)
[INFO] [stderr]       Adding hex v0.3.2 (latest: v0.4.3)
[INFO] [stderr]       Adding itertools v0.8.2 (latest: v0.12.1)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.6.5 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_chacha v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding rand_core v0.2.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_hc v0.1.0 (latest: v0.3.2)
[INFO] [stderr]       Adding rand_isaac v0.1.1 (latest: v0.3.0)
[INFO] [stderr]       Adding rand_jitter v0.1.4 (latest: v0.4.0)
[INFO] [stderr]       Adding rand_os v0.1.3 (latest: v0.2.2)
[INFO] [stderr]       Adding rand_pcg v0.1.2 (latest: v0.3.1)
[INFO] [stderr]       Adding rand_xorshift v0.1.1 (latest: v0.3.0)
[INFO] [stderr]       Adding rand_xoshiro v0.1.0 (latest: v0.6.0)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding ring v0.14.6 (latest: v0.17.8)
[INFO] [stderr]       Adding rustc_version v0.2.3 (latest: v0.4.0)
[INFO] [stderr]       Adding semver v0.9.0 (latest: v1.0.22)
[INFO] [stderr]       Adding semver-parser v0.7.0 (latest: v0.10.2)
[INFO] [stderr]       Adding smallvec v0.6.14 (latest: v1.13.2)
[INFO] [stderr]       Adding spin v0.5.2 (latest: v0.9.8)
[INFO] [stderr]       Adding strsim v0.8.0 (latest: v0.11.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] [stderr]       Adding textwrap v0.11.0 (latest: v0.16.1)
[INFO] [stderr]       Adding time v0.1.45 (latest: v0.3.36)
[INFO] [stderr]       Adding untrusted v0.6.2 (latest: v0.9.0)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (latest: v0.13.0+wasi-0.2.0)
[INFO] [stderr]       Adding x25519-dalek v0.4.5 (latest: v2.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded x25519-dalek v0.4.5
[INFO] [stderr]   Downloaded static_slice v0.0.3
[INFO] [stderr]   Downloaded clear_on_drop v0.2.5
[INFO] [stderr]   Downloaded rand_xoshiro v0.1.0
[INFO] [stderr]   Downloaded chacha20-poly1305-aead v0.1.2
[INFO] [stderr]   Downloaded criterion-plot v0.3.1
[INFO] [stderr]   Downloaded hacl-star-sys v0.0.7
[INFO] [stderr]   Downloaded criterion v0.2.11
[INFO] [stderr]   Downloaded curve25519-dalek v1.2.6
[INFO] [stderr]   Downloaded ring v0.14.6
[INFO] [stderr]   Downloaded hacl-star v0.0.13
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8fb80bed46f51f24642bbc4dfccf82f514a8b965d89c733e482196d2ae34152e
[INFO] running `Command { std: "docker" "start" "-a" "8fb80bed46f51f24642bbc4dfccf82f514a8b965d89c733e482196d2ae34152e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8fb80bed46f51f24642bbc4dfccf82f514a8b965d89c733e482196d2ae34152e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fb80bed46f51f24642bbc4dfccf82f514a8b965d89c733e482196d2ae34152e", kill_on_drop: false }`
[INFO] [stdout] 8fb80bed46f51f24642bbc4dfccf82f514a8b965d89c733e482196d2ae34152e
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1c2d55ca8ffeffa239f098c0340a78cc709a4f9cbbfc911c62f7f516b391afed
[INFO] running `Command { std: "docker" "start" "-a" "1c2d55ca8ffeffa239f098c0340a78cc709a4f9cbbfc911c62f7f516b391afed", kill_on_drop: false }`
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]    Compiling clear_on_drop v0.2.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling serde v1.0.200
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking generic-array v0.12.4
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling curve25519-dalek v1.2.6
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking unicode-width v0.1.12
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking constant_time_eq v0.1.5
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]    Compiling i2p_snow v0.5.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking serde_json v1.0.116
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking criterion-plot v0.3.1
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking x25519-dalek v0.4.5
[INFO] [stderr]     Checking blake2-rfc v0.2.18
[INFO] [stderr]     Checking chacha20-poly1305-aead v0.1.2
[INFO] [stderr]     Checking rand_xoshiro v0.1.0
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking static_slice v0.0.3
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             bail!(StateProblem::ASKMasterKeyNotReady)
[INFO] [stdout]     |             ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 Some(None) => bail!(StateProblem::ASKChainFinalized),
[INFO] [stdout]     |                               -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 None => bail!(SnowError::Input),
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |             bail!(StateProblem::ASKNotInitialized)
[INFO] [stdout]     |             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     None => bail!(StateProblem::ASKChainFinalized),
[INFO] [stdout]     |                             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 bail!(SnowError::Input)
[INFO] [stdout]     |                 ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |             bail!(StateProblem::ASKNotInitialized)
[INFO] [stdout]     |             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handshakestate.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |                         bail!(SnowError::Input)
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handshakestate.rs:207:25
[INFO] [stdout]     |
[INFO] [stdout] 207 |                         bail!(SnowError::Input)
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/session.rs:97:50
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Session::StatelessTransport(_)    => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]    |                                                  ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:116:55
[INFO] [stdout]     |
[INFO] [stdout] 116 |             _                                      => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                       ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:137:50
[INFO] [stdout]     |
[INFO] [stdout] 137 |             Session::StatelessTransport(_)    => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                  ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:156:55
[INFO] [stdout]     |
[INFO] [stdout] 156 |             _                                      => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                       ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:171:38
[INFO] [stdout]     |
[INFO] [stdout] 171 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:194:38
[INFO] [stdout]     |
[INFO] [stdout] 194 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:214:38
[INFO] [stdout]     |
[INFO] [stdout] 214 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:243:47
[INFO] [stdout]     |
[INFO] [stdout] 243 |             Session::Handshake(_)          => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                               ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:245:47
[INFO] [stdout]     |
[INFO] [stdout] 245 |             Session::StatelessTransport(_) => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                               ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:256:47
[INFO] [stdout]     |
[INFO] [stdout] 256 |             Session::Handshake(_)          => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                               ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:258:47
[INFO] [stdout]     |
[INFO] [stdout] 258 |             Session::StatelessTransport(_) => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                               ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:279:46
[INFO] [stdout]     |
[INFO] [stdout] 279 |             _                             => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                              --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:295:50
[INFO] [stdout]     |
[INFO] [stdout] 295 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished)
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:310:50
[INFO] [stdout]     |
[INFO] [stdout] 310 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:322:50
[INFO] [stdout]     |
[INFO] [stdout] 322 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:336:50
[INFO] [stdout]     |
[INFO] [stdout] 336 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:350:50
[INFO] [stdout]     |
[INFO] [stdout] 350 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:379:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     bail!(StateProblem::HandshakeNotFinished)
[INFO] [stdout]     |                     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:414:21
[INFO] [stdout]     |
[INFO] [stdout] 414 |                     bail!(StateProblem::HandshakeNotFinished)
[INFO] [stdout]     |                     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |           return Err(($e).into());
[INFO] [stdout]    |                                  ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/patterns.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | / pattern_enum! {
[INFO] [stdout] 85 | |     HandshakePattern {
[INFO] [stdout] 86 | |         // 7.4. One-way handshake patterns
[INFO] [stdout] 87 | |         N, X, K,
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |     }
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` which comes from the expansion of the macro `pattern_enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/params/patterns.rs:498:26
[INFO] [stdout]     |
[INFO] [stdout] 498 |                     0 => bail!(InitStage::ValidateHsPosition),
[INFO] [stdout]     |                          ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |             _       => bail!(PatternProblem::UnsupportedBaseType)
[INFO] [stdout]    |                        ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |             _       => bail!(PatternProblem::UnsupportedDhType)
[INFO] [stdout]    |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |             _            => bail!(PatternProblem::UnsupportedCipherType)
[INFO] [stdout]    |                             -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/params/mod.rs:106:26
[INFO] [stdout]     |
[INFO] [stdout] 106 |             _         => bail!(PatternProblem::UnsupportedHashType)
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:56:42
[INFO] [stdout]    |
[INFO] [stdout] 56 | #![cfg_attr(feature = "nightly", feature(try_from))]
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cipherstate.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cipher : Box<Cipher>,
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cipher : Box<dyn Cipher>,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cipherstate.rs:102:18
[INFO] [stdout]     |
[INFO] [stdout] 102 |     cipher : Box<Cipher>,
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     cipher : Box<dyn Cipher>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub(crate) rng              : Box<Random>,
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub(crate) rng              : Box<dyn Random>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) s                : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) s                : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) e                : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) e                : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:30:46
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) obfse            : Option<Box<Obfusc + Send>>,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) obfse            : Option<Box<dyn Obfusc + Send>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     resolver: Box<CryptoResolver>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     resolver: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preferred: Box<CryptoResolver>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preferred: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fallback: Box<CryptoResolver>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fallback: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn generate(&mut self, rng: &mut Random);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn generate(&mut self, rng: &mut dyn Random);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:21:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn resolve_rng(&self) -> Option<Box<Random>>;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn resolve_rng(&self) -> Option<Box<dyn Random>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:24:59
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>>;
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:27:63
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>>;
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>>;
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:30:67
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>>;
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:33:67
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>>;
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:75:61
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_resolver(params: NoiseParams, resolver: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_resolver(params: NoiseParams, resolver: Box<dyn CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cipherstate.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cipher: Box<Cipher>) -> Self {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cipher: Box<dyn Cipher>) -> Self {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cipherstate.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn new(cipher: Box<Cipher>) -> Self {
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn new(cipher: Box<dyn Cipher>) -> Self {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetricstate.rs:37:54
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(cipherstate: CipherState, hasher: Box<Hash>, enable_ask: bool) -> SymmetricState {
[INFO] [stdout]    |                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(cipherstate: CipherState, hasher: Box<dyn Hash>, enable_ask: bool) -> SymmetricState {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:40:31
[INFO] [stdout]    |
[INFO] [stdout] 40 |         rng             : Box<Random>,
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         rng             : Box<dyn Random>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         hasher          : Box<Hash>,
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |         hasher          : Box<dyn Hash>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:43:38
[INFO] [stdout]    |
[INFO] [stdout] 43 |         s               : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         s               : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:44:38
[INFO] [stdout]    |
[INFO] [stdout] 44 |         e               : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         e               : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:52:38
[INFO] [stdout]    |
[INFO] [stdout] 52 |         obfse           : Option<Box<Obfusc + Send>>,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |         obfse           : Option<Box<dyn Obfusc + Send>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:56:59
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:60:63
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:68:67
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<dyn CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:46:62
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<dyn CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:41:59
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:48:63
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:57:67
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolvers/default.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn generate(&mut self, rng: &mut Random) {
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn generate(&mut self, rng: &mut dyn Random) {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SnowError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SnowError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking criterion v0.2.11
[INFO] [stdout] error[E0463]: can't find crate for `snow`
[INFO] [stdout]  --> benches/benches.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | extern crate snow;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:67:41
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:72:59
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:80:67
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:84:67
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Builder::new("Noise_NN_25519_ChaChaPoly_SHA256".parse().unwrap())
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Builder::new("Noise_XX_25519_ChaChaPoly_SHA256".parse().unwrap())
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NoiseParams` in this scope
[INFO] [stdout]   --> benches/benches.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let pattern: NoiseParams = "Noise_XX_25519_ChaChaPoly_BLAKE2b".parse().unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:44:27
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut h_i = Builder::new(pattern.clone())
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |             let mut h_r = Builder::new(pattern)
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:67:27
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut h_i = Builder::new(pattern.parse().unwrap())
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:69:27
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut h_r = Builder::new(pattern.parse().unwrap())
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut h_i = Builder::new(PATTERN.parse().unwrap())
[INFO] [stdout]    |                       ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:88:23
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut h_r = Builder::new(PATTERN.parse().unwrap())
[INFO] [stdout]    |                       ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]    --> benches/benches.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut h_i = Builder::new(PATTERN.parse().unwrap())
[INFO] [stdout]     |                       ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 10  + use std::thread::Builder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]    --> benches/benches.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut h_r = Builder::new(PATTERN.parse().unwrap())
[INFO] [stdout]     |                       ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 10  + use std::thread::Builder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `i2p_snow` (bench "benches") due to 13 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             bail!(StateProblem::ASKMasterKeyNotReady)
[INFO] [stdout]     |             ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 Some(None) => bail!(StateProblem::ASKChainFinalized),
[INFO] [stdout]     |                               -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 None => bail!(SnowError::Input),
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |             bail!(StateProblem::ASKNotInitialized)
[INFO] [stdout]     |             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     None => bail!(StateProblem::ASKChainFinalized),
[INFO] [stdout]     |                             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 bail!(SnowError::Input)
[INFO] [stdout]     |                 ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |             bail!(StateProblem::ASKNotInitialized)
[INFO] [stdout]     |             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handshakestate.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |                         bail!(SnowError::Input)
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handshakestate.rs:207:25
[INFO] [stdout]     |
[INFO] [stdout] 207 |                         bail!(SnowError::Input)
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/session.rs:97:50
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Session::StatelessTransport(_)    => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]    |                                                  ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:116:55
[INFO] [stdout]     |
[INFO] [stdout] 116 |             _                                      => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                       ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:137:50
[INFO] [stdout]     |
[INFO] [stdout] 137 |             Session::StatelessTransport(_)    => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                  ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:156:55
[INFO] [stdout]     |
[INFO] [stdout] 156 |             _                                      => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                       ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:171:38
[INFO] [stdout]     |
[INFO] [stdout] 171 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:194:38
[INFO] [stdout]     |
[INFO] [stdout] 194 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:214:38
[INFO] [stdout]     |
[INFO] [stdout] 214 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:243:47
[INFO] [stdout]     |
[INFO] [stdout] 243 |             Session::Handshake(_)          => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                               ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:245:47
[INFO] [stdout]     |
[INFO] [stdout] 245 |             Session::StatelessTransport(_) => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                               ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:256:47
[INFO] [stdout]     |
[INFO] [stdout] 256 |             Session::Handshake(_)          => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                               ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:258:47
[INFO] [stdout]     |
[INFO] [stdout] 258 |             Session::StatelessTransport(_) => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                               ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:279:46
[INFO] [stdout]     |
[INFO] [stdout] 279 |             _                             => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                              --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:295:50
[INFO] [stdout]     |
[INFO] [stdout] 295 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished)
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:310:50
[INFO] [stdout]     |
[INFO] [stdout] 310 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:322:50
[INFO] [stdout]     |
[INFO] [stdout] 322 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:336:50
[INFO] [stdout]     |
[INFO] [stdout] 336 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:350:50
[INFO] [stdout]     |
[INFO] [stdout] 350 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:379:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     bail!(StateProblem::HandshakeNotFinished)
[INFO] [stdout]     |                     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:414:21
[INFO] [stdout]     |
[INFO] [stdout] 414 |                     bail!(StateProblem::HandshakeNotFinished)
[INFO] [stdout]     |                     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |           return Err(($e).into());
[INFO] [stdout]    |                                  ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/patterns.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | / pattern_enum! {
[INFO] [stdout] 85 | |     HandshakePattern {
[INFO] [stdout] 86 | |         // 7.4. One-way handshake patterns
[INFO] [stdout] 87 | |         N, X, K,
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |     }
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` which comes from the expansion of the macro `pattern_enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/params/patterns.rs:498:26
[INFO] [stdout]     |
[INFO] [stdout] 498 |                     0 => bail!(InitStage::ValidateHsPosition),
[INFO] [stdout]     |                          ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |             _       => bail!(PatternProblem::UnsupportedBaseType)
[INFO] [stdout]    |                        ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |             _       => bail!(PatternProblem::UnsupportedDhType)
[INFO] [stdout]    |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |             _            => bail!(PatternProblem::UnsupportedCipherType)
[INFO] [stdout]    |                             -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/params/mod.rs:106:26
[INFO] [stdout]     |
[INFO] [stdout] 106 |             _         => bail!(PatternProblem::UnsupportedHashType)
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:56:42
[INFO] [stdout]    |
[INFO] [stdout] 56 | #![cfg_attr(feature = "nightly", feature(try_from))]
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cipherstate.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cipher : Box<Cipher>,
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cipher : Box<dyn Cipher>,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cipherstate.rs:102:18
[INFO] [stdout]     |
[INFO] [stdout] 102 |     cipher : Box<Cipher>,
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     cipher : Box<dyn Cipher>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub(crate) rng              : Box<Random>,
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub(crate) rng              : Box<dyn Random>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) s                : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) s                : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) e                : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) e                : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:30:46
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) obfse            : Option<Box<Obfusc + Send>>,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) obfse            : Option<Box<dyn Obfusc + Send>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     resolver: Box<CryptoResolver>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     resolver: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preferred: Box<CryptoResolver>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preferred: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fallback: Box<CryptoResolver>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fallback: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn generate(&mut self, rng: &mut Random);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn generate(&mut self, rng: &mut dyn Random);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:21:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn resolve_rng(&self) -> Option<Box<Random>>;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn resolve_rng(&self) -> Option<Box<dyn Random>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:24:59
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>>;
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:27:63
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>>;
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>>;
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:30:67
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>>;
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:33:67
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>>;
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:75:61
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_resolver(params: NoiseParams, resolver: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_resolver(params: NoiseParams, resolver: Box<dyn CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cipherstate.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cipher: Box<Cipher>) -> Self {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cipher: Box<dyn Cipher>) -> Self {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cipherstate.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn new(cipher: Box<Cipher>) -> Self {
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn new(cipher: Box<dyn Cipher>) -> Self {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetricstate.rs:37:54
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(cipherstate: CipherState, hasher: Box<Hash>, enable_ask: bool) -> SymmetricState {
[INFO] [stdout]    |                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(cipherstate: CipherState, hasher: Box<dyn Hash>, enable_ask: bool) -> SymmetricState {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:40:31
[INFO] [stdout]    |
[INFO] [stdout] 40 |         rng             : Box<Random>,
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         rng             : Box<dyn Random>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         hasher          : Box<Hash>,
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |         hasher          : Box<dyn Hash>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:43:38
[INFO] [stdout]    |
[INFO] [stdout] 43 |         s               : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         s               : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:44:38
[INFO] [stdout]    |
[INFO] [stdout] 44 |         e               : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         e               : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:52:38
[INFO] [stdout]    |
[INFO] [stdout] 52 |         obfse           : Option<Box<Obfusc + Send>>,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |         obfse           : Option<Box<dyn Obfusc + Send>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:56:59
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:60:63
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:68:67
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<dyn CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:46:62
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<dyn CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:41:59
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:48:63
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:57:67
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolvers/default.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn generate(&mut self, rng: &mut Random) {
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn generate(&mut self, rng: &mut dyn Random) {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SnowError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SnowError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1c2d55ca8ffeffa239f098c0340a78cc709a4f9cbbfc911c62f7f516b391afed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c2d55ca8ffeffa239f098c0340a78cc709a4f9cbbfc911c62f7f516b391afed", kill_on_drop: false }`
[INFO] [stdout] 1c2d55ca8ffeffa239f098c0340a78cc709a4f9cbbfc911c62f7f516b391afed
[INFO] checking i2p_snow-0.5.1 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate i2p_snow 0.5.1 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate i2p_snow 0.5.1 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate i2p_snow 0.5.1
[INFO] finished tweaking crates.io crate i2p_snow 0.5.1
[INFO] tweaked toml for crates.io crate i2p_snow 0.5.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 118 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding arrayvec v0.4.12 (latest: v0.7.4)
[INFO] [stderr]       Adding autocfg v0.1.8 (latest: v1.2.0)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding cast v0.2.7 (latest: v0.3.0)
[INFO] [stderr]       Adding clap v2.34.0 (latest: v4.5.4)
[INFO] [stderr]       Adding cloudabi v0.0.3 (latest: v0.1.0)
[INFO] [stderr]       Adding constant_time_eq v0.1.5 (latest: v0.3.0)
[INFO] [stderr]       Adding criterion v0.2.11 (latest: v0.5.1)
[INFO] [stderr]       Adding criterion-plot v0.3.1 (latest: v0.5.0)
[INFO] [stderr]       Adding curve25519-dalek v1.2.6 (latest: v4.1.2)
[INFO] [stderr]       Adding digest v0.8.1 (latest: v0.10.7)
[INFO] [stderr]       Adding generic-array v0.12.4 (latest: v1.0.0)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding hacl-star v0.0.13 (latest: v0.1.0)
[INFO] [stderr]       Adding hacl-star-sys v0.0.7 (latest: v0.1.0)
[INFO] [stderr]       Adding hermit-abi v0.1.19 (latest: v0.3.9)
[INFO] [stderr]       Adding hex v0.3.2 (latest: v0.4.3)
[INFO] [stderr]       Adding itertools v0.8.2 (latest: v0.12.1)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.6.5 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_chacha v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding rand_core v0.2.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_hc v0.1.0 (latest: v0.3.2)
[INFO] [stderr]       Adding rand_isaac v0.1.1 (latest: v0.3.0)
[INFO] [stderr]       Adding rand_jitter v0.1.4 (latest: v0.4.0)
[INFO] [stderr]       Adding rand_os v0.1.3 (latest: v0.2.2)
[INFO] [stderr]       Adding rand_pcg v0.1.2 (latest: v0.3.1)
[INFO] [stderr]       Adding rand_xorshift v0.1.1 (latest: v0.3.0)
[INFO] [stderr]       Adding rand_xoshiro v0.1.0 (latest: v0.6.0)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding ring v0.14.6 (latest: v0.17.8)
[INFO] [stderr]       Adding rustc_version v0.2.3 (latest: v0.4.0)
[INFO] [stderr]       Adding semver v0.9.0 (latest: v1.0.22)
[INFO] [stderr]       Adding semver-parser v0.7.0 (latest: v0.10.2)
[INFO] [stderr]       Adding smallvec v0.6.14 (latest: v1.13.2)
[INFO] [stderr]       Adding spin v0.5.2 (latest: v0.9.8)
[INFO] [stderr]       Adding strsim v0.8.0 (latest: v0.11.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] [stderr]       Adding textwrap v0.11.0 (latest: v0.16.1)
[INFO] [stderr]       Adding time v0.1.45 (latest: v0.3.36)
[INFO] [stderr]       Adding untrusted v0.6.2 (latest: v0.9.0)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (latest: v0.13.0+wasi-0.2.0)
[INFO] [stderr]       Adding x25519-dalek v0.4.5 (latest: v2.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ca5b2932296cfe6c8469a84b69d2b6c4fcbd1bcfbc69f87d63c3b74cd7c9662e
[INFO] running `Command { std: "docker" "start" "-a" "ca5b2932296cfe6c8469a84b69d2b6c4fcbd1bcfbc69f87d63c3b74cd7c9662e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca5b2932296cfe6c8469a84b69d2b6c4fcbd1bcfbc69f87d63c3b74cd7c9662e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca5b2932296cfe6c8469a84b69d2b6c4fcbd1bcfbc69f87d63c3b74cd7c9662e", kill_on_drop: false }`
[INFO] [stdout] ca5b2932296cfe6c8469a84b69d2b6c4fcbd1bcfbc69f87d63c3b74cd7c9662e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d083387f16dd575b24e78da6de3fd1e0237538f5b7f197bf3a631a98fccb088e
[INFO] running `Command { std: "docker" "start" "-a" "d083387f16dd575b24e78da6de3fd1e0237538f5b7f197bf3a631a98fccb088e", kill_on_drop: false }`
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]    Compiling clear_on_drop v0.2.5
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling serde v1.0.200
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling generic-array v0.12.4
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling curve25519-dalek v1.2.6
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking unicode-width v0.1.12
[INFO] [stderr]     Checking constant_time_eq v0.1.5
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling i2p_snow v0.5.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking serde_json v1.0.116
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking criterion-plot v0.3.1
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking x25519-dalek v0.4.5
[INFO] [stderr]     Checking blake2-rfc v0.2.18
[INFO] [stderr]     Checking chacha20-poly1305-aead v0.1.2
[INFO] [stderr]     Checking rand_xoshiro v0.1.0
[INFO] [stderr]     Checking static_slice v0.0.3
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             bail!(StateProblem::ASKMasterKeyNotReady)
[INFO] [stdout]     |             ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 Some(None) => bail!(StateProblem::ASKChainFinalized),
[INFO] [stdout]     |                               -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 None => bail!(SnowError::Input),
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |             bail!(StateProblem::ASKNotInitialized)
[INFO] [stdout]     |             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     None => bail!(StateProblem::ASKChainFinalized),
[INFO] [stdout]     |                             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 bail!(SnowError::Input)
[INFO] [stdout]     |                 ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |             bail!(StateProblem::ASKNotInitialized)
[INFO] [stdout]     |             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handshakestate.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |                         bail!(SnowError::Input)
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handshakestate.rs:207:25
[INFO] [stdout]     |
[INFO] [stdout] 207 |                         bail!(SnowError::Input)
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/session.rs:97:50
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Session::StatelessTransport(_)    => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]    |                                                  ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:116:55
[INFO] [stdout]     |
[INFO] [stdout] 116 |             _                                      => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                       ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:137:50
[INFO] [stdout]     |
[INFO] [stdout] 137 |             Session::StatelessTransport(_)    => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                  ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:156:55
[INFO] [stdout]     |
[INFO] [stdout] 156 |             _                                      => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                       ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:171:38
[INFO] [stdout]     |
[INFO] [stdout] 171 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:194:38
[INFO] [stdout]     |
[INFO] [stdout] 194 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:214:38
[INFO] [stdout]     |
[INFO] [stdout] 214 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:243:47
[INFO] [stdout]     |
[INFO] [stdout] 243 |             Session::Handshake(_)          => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                               ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:245:47
[INFO] [stdout]     |
[INFO] [stdout] 245 |             Session::StatelessTransport(_) => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                               ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:256:47
[INFO] [stdout]     |
[INFO] [stdout] 256 |             Session::Handshake(_)          => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                               ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:258:47
[INFO] [stdout]     |
[INFO] [stdout] 258 |             Session::StatelessTransport(_) => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                               ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:279:46
[INFO] [stdout]     |
[INFO] [stdout] 279 |             _                             => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                              --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:295:50
[INFO] [stdout]     |
[INFO] [stdout] 295 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished)
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:310:50
[INFO] [stdout]     |
[INFO] [stdout] 310 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:322:50
[INFO] [stdout]     |
[INFO] [stdout] 322 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:336:50
[INFO] [stdout]     |
[INFO] [stdout] 336 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:350:50
[INFO] [stdout]     |
[INFO] [stdout] 350 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:379:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     bail!(StateProblem::HandshakeNotFinished)
[INFO] [stdout]     |                     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:414:21
[INFO] [stdout]     |
[INFO] [stdout] 414 |                     bail!(StateProblem::HandshakeNotFinished)
[INFO] [stdout]     |                     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |           return Err(($e).into());
[INFO] [stdout]    |                                  ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/patterns.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | / pattern_enum! {
[INFO] [stdout] 85 | |     HandshakePattern {
[INFO] [stdout] 86 | |         // 7.4. One-way handshake patterns
[INFO] [stdout] 87 | |         N, X, K,
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |     }
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` which comes from the expansion of the macro `pattern_enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/params/patterns.rs:498:26
[INFO] [stdout]     |
[INFO] [stdout] 498 |                     0 => bail!(InitStage::ValidateHsPosition),
[INFO] [stdout]     |                          ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |             _       => bail!(PatternProblem::UnsupportedBaseType)
[INFO] [stdout]    |                        ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |             _       => bail!(PatternProblem::UnsupportedDhType)
[INFO] [stdout]    |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |             _            => bail!(PatternProblem::UnsupportedCipherType)
[INFO] [stdout]    |                             -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/params/mod.rs:106:26
[INFO] [stdout]     |
[INFO] [stdout] 106 |             _         => bail!(PatternProblem::UnsupportedHashType)
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:56:42
[INFO] [stdout]    |
[INFO] [stdout] 56 | #![cfg_attr(feature = "nightly", feature(try_from))]
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cipherstate.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cipher : Box<Cipher>,
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cipher : Box<dyn Cipher>,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cipherstate.rs:102:18
[INFO] [stdout]     |
[INFO] [stdout] 102 |     cipher : Box<Cipher>,
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     cipher : Box<dyn Cipher>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub(crate) rng              : Box<Random>,
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub(crate) rng              : Box<dyn Random>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) s                : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) s                : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) e                : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) e                : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:30:46
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) obfse            : Option<Box<Obfusc + Send>>,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) obfse            : Option<Box<dyn Obfusc + Send>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     resolver: Box<CryptoResolver>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     resolver: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preferred: Box<CryptoResolver>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preferred: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fallback: Box<CryptoResolver>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fallback: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn generate(&mut self, rng: &mut Random);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn generate(&mut self, rng: &mut dyn Random);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:21:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn resolve_rng(&self) -> Option<Box<Random>>;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn resolve_rng(&self) -> Option<Box<dyn Random>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:24:59
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>>;
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:27:63
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>>;
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>>;
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:30:67
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>>;
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:33:67
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>>;
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:75:61
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_resolver(params: NoiseParams, resolver: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_resolver(params: NoiseParams, resolver: Box<dyn CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cipherstate.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cipher: Box<Cipher>) -> Self {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cipher: Box<dyn Cipher>) -> Self {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cipherstate.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn new(cipher: Box<Cipher>) -> Self {
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn new(cipher: Box<dyn Cipher>) -> Self {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetricstate.rs:37:54
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(cipherstate: CipherState, hasher: Box<Hash>, enable_ask: bool) -> SymmetricState {
[INFO] [stdout]    |                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(cipherstate: CipherState, hasher: Box<dyn Hash>, enable_ask: bool) -> SymmetricState {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:40:31
[INFO] [stdout]    |
[INFO] [stdout] 40 |         rng             : Box<Random>,
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         rng             : Box<dyn Random>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         hasher          : Box<Hash>,
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |         hasher          : Box<dyn Hash>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:43:38
[INFO] [stdout]    |
[INFO] [stdout] 43 |         s               : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         s               : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:44:38
[INFO] [stdout]    |
[INFO] [stdout] 44 |         e               : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         e               : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:52:38
[INFO] [stdout]    |
[INFO] [stdout] 52 |         obfse           : Option<Box<Obfusc + Send>>,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |         obfse           : Option<Box<dyn Obfusc + Send>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:56:59
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:60:63
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:68:67
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<dyn CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:46:62
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<dyn CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:41:59
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:48:63
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:57:67
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolvers/default.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn generate(&mut self, rng: &mut Random) {
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn generate(&mut self, rng: &mut dyn Random) {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SnowError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SnowError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking criterion v0.2.11
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:67:41
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:72:59
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:76:63
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:80:67
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/general.rs:84:67
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             bail!(StateProblem::ASKMasterKeyNotReady)
[INFO] [stdout]     |             ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 Some(None) => bail!(StateProblem::ASKChainFinalized),
[INFO] [stdout]     |                               -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 None => bail!(SnowError::Input),
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |             bail!(StateProblem::ASKNotInitialized)
[INFO] [stdout]     |             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     None => bail!(StateProblem::ASKChainFinalized),
[INFO] [stdout]     |                             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 bail!(SnowError::Input)
[INFO] [stdout]     |                 ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/symmetricstate.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |             bail!(StateProblem::ASKNotInitialized)
[INFO] [stdout]     |             -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handshakestate.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |                         bail!(SnowError::Input)
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `snow`
[INFO] [stdout]  --> benches/benches.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | extern crate snow;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handshakestate.rs:207:25
[INFO] [stdout]     |
[INFO] [stdout] 207 |                         bail!(SnowError::Input)
[INFO] [stdout]     |                         ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/session.rs:97:50
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Session::StatelessTransport(_)    => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]    |                                                  ------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:116:55
[INFO] [stdout]     |
[INFO] [stdout] 116 |             _                                      => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                       ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:137:50
[INFO] [stdout]     |
[INFO] [stdout] 137 |             Session::StatelessTransport(_)    => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                  ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:156:55
[INFO] [stdout]     |
[INFO] [stdout] 156 |             _                                      => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                                       ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:171:38
[INFO] [stdout]     |
[INFO] [stdout] 171 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:194:38
[INFO] [stdout]     |
[INFO] [stdout] 194 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:214:38
[INFO] [stdout]     |
[INFO] [stdout] 214 |             Session::Handshake(_) => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                      ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:243:47
[INFO] [stdout]     |
[INFO] [stdout] 243 |             Session::Handshake(_)          => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                               ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:245:47
[INFO] [stdout]     |
[INFO] [stdout] 245 |             Session::StatelessTransport(_) => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                               ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:256:47
[INFO] [stdout]     |
[INFO] [stdout] 256 |             Session::Handshake(_)          => bail!(StateProblem::HandshakeNotFinished),
[INFO] [stdout]     |                                               ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:258:47
[INFO] [stdout]     |
[INFO] [stdout] 258 |             Session::StatelessTransport(_) => bail!(StateProblem::StatelessTransportMode),
[INFO] [stdout]     |                                               ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:279:46
[INFO] [stdout]     |
[INFO] [stdout] 279 |             _                             => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                              --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:295:50
[INFO] [stdout]     |
[INFO] [stdout] 295 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished)
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:310:50
[INFO] [stdout]     |
[INFO] [stdout] 310 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:322:50
[INFO] [stdout]     |
[INFO] [stdout] 322 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:336:50
[INFO] [stdout]     |
[INFO] [stdout] 336 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:350:50
[INFO] [stdout]     |
[INFO] [stdout] 350 |             _                                 => bail!(StateProblem::HandshakeAlreadyFinished),
[INFO] [stdout]     |                                                  --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:379:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     bail!(StateProblem::HandshakeNotFinished)
[INFO] [stdout]     |                     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/session.rs:414:21
[INFO] [stdout]     |
[INFO] [stdout] 414 |                     bail!(StateProblem::HandshakeNotFinished)
[INFO] [stdout]     |                     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |           return Err(($e).into());
[INFO] [stdout]    |                                  ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/patterns.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | / pattern_enum! {
[INFO] [stdout] 85 | |     HandshakePattern {
[INFO] [stdout] 86 | |         // 7.4. One-way handshake patterns
[INFO] [stdout] 87 | |         N, X, K,
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |     }
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` which comes from the expansion of the macro `pattern_enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/params/patterns.rs:498:26
[INFO] [stdout]     |
[INFO] [stdout] 498 |                     0 => bail!(InitStage::ValidateHsPosition),
[INFO] [stdout]     |                          ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |             _       => bail!(PatternProblem::UnsupportedBaseType)
[INFO] [stdout]    |                        ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |             _       => bail!(PatternProblem::UnsupportedDhType)
[INFO] [stdout]    |                        ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/error.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         return Err(($e).into());
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/params/mod.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |             _            => bail!(PatternProblem::UnsupportedCipherType)
[INFO] [stdout]    |                             -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/error.rs:13:32
[INFO] [stdout]     |
[INFO] [stdout] 13  |         return Err(($e).into());
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/params/mod.rs:106:26
[INFO] [stdout]     |
[INFO] [stdout] 106 |             _         => bail!(PatternProblem::UnsupportedHashType)
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:56:42
[INFO] [stdout]    |
[INFO] [stdout] 56 | #![cfg_attr(feature = "nightly", feature(try_from))]
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cipherstate.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cipher : Box<Cipher>,
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cipher : Box<dyn Cipher>,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cipherstate.rs:102:18
[INFO] [stdout]     |
[INFO] [stdout] 102 |     cipher : Box<Cipher>,
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     cipher : Box<dyn Cipher>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub(crate) rng              : Box<Random>,
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub(crate) rng              : Box<dyn Random>,
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) s                : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) s                : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) e                : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub(crate) e                : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:30:46
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) obfse            : Option<Box<Obfusc + Send>>,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) obfse            : Option<Box<dyn Obfusc + Send>>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     resolver: Box<CryptoResolver>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     resolver: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preferred: Box<CryptoResolver>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     preferred: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fallback: Box<CryptoResolver>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fallback: Box<dyn CryptoResolver>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn generate(&mut self, rng: &mut Random);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn generate(&mut self, rng: &mut dyn Random);
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:21:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn resolve_rng(&self) -> Option<Box<Random>>;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn resolve_rng(&self) -> Option<Box<dyn Random>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Builder::new("Noise_NN_25519_ChaChaPoly_SHA256".parse().unwrap())
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:24:59
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>>;
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Builder::new("Noise_XX_25519_ChaChaPoly_SHA256".parse().unwrap())
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NoiseParams` in this scope
[INFO] [stdout]   --> benches/benches.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let pattern: NoiseParams = "Noise_XX_25519_ChaChaPoly_BLAKE2b".parse().unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:44:27
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut h_i = Builder::new(pattern.clone())
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |             let mut h_r = Builder::new(pattern)
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:27:63
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>>;
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>>;
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:67:27
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut h_i = Builder::new(pattern.parse().unwrap())
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:69:27
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut h_r = Builder::new(pattern.parse().unwrap())
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut h_i = Builder::new(PATTERN.parse().unwrap())
[INFO] [stdout]    |                       ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]   --> benches/benches.rs:88:23
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut h_r = Builder::new(PATTERN.parse().unwrap())
[INFO] [stdout]    |                       ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]    --> benches/benches.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut h_i = Builder::new(PATTERN.parse().unwrap())
[INFO] [stdout]     |                       ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 10  + use std::thread::Builder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Builder`
[INFO] [stdout]    --> benches/benches.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut h_r = Builder::new(PATTERN.parse().unwrap())
[INFO] [stdout]     |                       ^^^^^^^ use of undeclared type `Builder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 10  + use std::thread::Builder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:30:67
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>>;
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:33:67
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>>;
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:75:61
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_resolver(params: NoiseParams, resolver: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_resolver(params: NoiseParams, resolver: Box<dyn CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cipherstate.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cipher: Box<Cipher>) -> Self {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cipher: Box<dyn Cipher>) -> Self {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cipherstate.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn new(cipher: Box<Cipher>) -> Self {
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn new(cipher: Box<dyn Cipher>) -> Self {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/symmetricstate.rs:37:54
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(cipherstate: CipherState, hasher: Box<Hash>, enable_ask: bool) -> SymmetricState {
[INFO] [stdout]    |                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new(cipherstate: CipherState, hasher: Box<dyn Hash>, enable_ask: bool) -> SymmetricState {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:40:31
[INFO] [stdout]    |
[INFO] [stdout] 40 |         rng             : Box<Random>,
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         rng             : Box<dyn Random>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         hasher          : Box<Hash>,
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |         hasher          : Box<dyn Hash>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:43:38
[INFO] [stdout]    |
[INFO] [stdout] 43 |         s               : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |         s               : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:44:38
[INFO] [stdout]    |
[INFO] [stdout] 44 |         e               : Toggle<Box<Dh>>,
[INFO] [stdout]    |                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         e               : Toggle<Box<dyn Dh>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handshakestate.rs:52:38
[INFO] [stdout]    |
[INFO] [stdout] 52 |         obfse           : Option<Box<Obfusc + Send>>,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |         obfse           : Option<Box<dyn Obfusc + Send>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `i2p_snow` (bench "benches") due to 13 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:52:41
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:56:59
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:60:63
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:68:67
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<dyn CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/mod.rs:46:62
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(preferred: Box<CryptoResolver>, fallback: Box<dyn CryptoResolver>) -> Self {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_rng(&self) -> Option<Box<Random>> {
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_rng(&self) -> Option<Box<dyn Random>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:41:59
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<Dh>> {
[INFO] [stdout]    |                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn resolve_dh(&self, choice: &DHChoice) -> Option<Box<dyn Dh>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:48:63
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<Hash>> {
[INFO] [stdout]    |                                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn resolve_hash(&self, choice: &HashChoice) -> Option<Box<dyn Hash>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:57:67
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<Cipher>> {
[INFO] [stdout]    |                                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn resolve_cipher(&self, choice: &CipherChoice) -> Option<Box<dyn Cipher>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolvers/default.rs:64:67
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<Obfusc + Send>> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn resolve_obfusc(&self, choice: &ObfuscChoice) -> Option<Box<dyn Obfusc + Send>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolvers/default.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn generate(&mut self, rng: &mut Random) {
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn generate(&mut self, rng: &mut dyn Random) {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SnowError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SnowError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d083387f16dd575b24e78da6de3fd1e0237538f5b7f197bf3a631a98fccb088e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d083387f16dd575b24e78da6de3fd1e0237538f5b7f197bf3a631a98fccb088e", kill_on_drop: false }`
[INFO] [stdout] d083387f16dd575b24e78da6de3fd1e0237538f5b7f197bf3a631a98fccb088e
