[INFO] fetching crate i2p_snow 0.5.1...
[INFO] checking i2p_snow-0.5.1 against master#3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777 for pr-132289
[INFO] extracting crate i2p_snow 0.5.1 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate i2p_snow 0.5.1 on toolchain 3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "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-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 118 packages to latest compatible versions
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.5.20)
[INFO] [stderr]       Adding criterion v0.2.11 (available: v0.5.1)
[INFO] [stderr]       Adding hacl-star v0.0.13 (available: v0.1.0)
[INFO] [stderr]       Adding hex v0.3.2 (available: v0.4.3)
[INFO] [stderr]       Adding rand v0.6.5 (available: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.4.2 (available: v0.6.4)
[INFO] [stderr]       Adding ring v0.14.6 (available: v0.17.8)
[INFO] [stderr]       Adding rustc_version v0.2.3 (available: v0.4.1)
[INFO] [stderr]       Adding smallvec v0.6.14 (available: v1.13.2)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] [stderr]       Adding x25519-dalek v0.4.5 (available: v2.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded chacha20-poly1305-aead v0.1.2
[INFO] [stderr]   Downloaded static_slice v0.0.3
[INFO] [stderr]   Downloaded rand_core v0.2.2
[INFO] [stderr]   Downloaded hacl-star-sys v0.0.7
[INFO] [stderr]   Downloaded x25519-dalek v0.4.5
[INFO] [stderr]   Downloaded curve25519-dalek v1.2.6
[INFO] [stderr]   Downloaded rust-crypto v0.2.36
[INFO] [stderr]   Downloaded hacl-star v0.0.13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fa8dc7b77fc09ab9929ea8bbc01e827cd3ba8134f1fb0417e6c4c289bb7b9021
[INFO] running `Command { std: "docker" "start" "-a" "fa8dc7b77fc09ab9929ea8bbc01e827cd3ba8134f1fb0417e6c4c289bb7b9021", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fa8dc7b77fc09ab9929ea8bbc01e827cd3ba8134f1fb0417e6c4c289bb7b9021", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa8dc7b77fc09ab9929ea8bbc01e827cd3ba8134f1fb0417e6c4c289bb7b9021", kill_on_drop: false }`
[INFO] [stdout] fa8dc7b77fc09ab9929ea8bbc01e827cd3ba8134f1fb0417e6c4c289bb7b9021
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf752366e5c8871cb63719bed2baff6112d618989df706564f3d3d522e9dc173
[INFO] running `Command { std: "docker" "start" "-a" "bf752366e5c8871cb63719bed2baff6112d618989df706564f3d3d522e9dc173", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling clear_on_drop v0.2.5
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling curve25519-dalek v1.2.6
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking object v0.36.5
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]     Checking constant_time_eq v0.1.5
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling i2p_snow v0.5.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking serde_json v1.0.132
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift 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.85
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking criterion-plot v0.3.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking x25519-dalek v0.4.5
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking smallvec v0.6.14
[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.9
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]     Checking backtrace v0.3.74
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/handshakestate.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     #[cfg_attr(feature = "cargo-clippy", allow(too_many_arguments))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `blake2-rfc`, `chacha20-poly1305-aead`, `default`, `default-resolver`, `hacl-star`, `hacl-star-accelerated`, `hacl-star-resolver`, `nightly`, `rand`, `ring`, `ring-accelerated`, `ring-resolver`, `rust-crypto`, `vector-tests`, and `x25519-dalek`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/session.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg_attr(feature = "cargo-clippy", allow(large_enum_variant))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `blake2-rfc`, `chacha20-poly1305-aead`, `default`, `default-resolver`, `hacl-star`, `hacl-star-accelerated`, `hacl-star-resolver`, `nightly`, `rand`, `ring`, `ring-accelerated`, `ring-resolver`, `rust-crypto`, `vector-tests`, and `x25519-dalek`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SnowError`
[INFO] [stdout] 20 | pub enum SnowError {
[INFO] [stdout]    |          --------- `SnowError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[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: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[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, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Display` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SnowError`
[INFO] [stdout] 20 | pub enum SnowError {
[INFO] [stdout]    |          --------- `SnowError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[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: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[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] [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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> tests/general.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `blake2-rfc`, `chacha20-poly1305-aead`, `default`, `default-resolver`, `hacl-star`, `hacl-star-accelerated`, `hacl-star-resolver`, `nightly`, `rand`, `ring`, `ring-accelerated`, `ring-resolver`, `rust-crypto`, `vector-tests`, and `x25519-dalek`
[INFO] [stdout]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[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] 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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |     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: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]   --> 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/handshakestate.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     #[cfg_attr(feature = "cargo-clippy", allow(too_many_arguments))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `blake2-rfc`, `chacha20-poly1305-aead`, `default`, `default-resolver`, `hacl-star`, `hacl-star-accelerated`, `hacl-star-resolver`, `nightly`, `rand`, `ring`, `ring-accelerated`, `ring-resolver`, `rust-crypto`, `vector-tests`, and `x25519-dalek`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/session.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg_attr(feature = "cargo-clippy", allow(large_enum_variant))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `blake2-rfc`, `chacha20-poly1305-aead`, `default`, `default-resolver`, `hacl-star`, `hacl-star-accelerated`, `hacl-star-resolver`, `nightly`, `rand`, `ring`, `ring-accelerated`, `ring-resolver`, `rust-crypto`, `vector-tests`, and `x25519-dalek`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[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] Some errors have detailed explanations: E0412, E0433, E0463.
[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] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `i2p_snow` (bench "benches") due to 12 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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 a dyn-compatible 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, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SnowError`
[INFO] [stdout] 20 | pub enum SnowError {
[INFO] [stdout]    |          --------- `SnowError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[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: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[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, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Fail, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Display` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SnowError`
[INFO] [stdout] 20 | pub enum SnowError {
[INFO] [stdout]    |          --------- `SnowError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[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: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[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] running `Command { std: "docker" "inspect" "bf752366e5c8871cb63719bed2baff6112d618989df706564f3d3d522e9dc173", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf752366e5c8871cb63719bed2baff6112d618989df706564f3d3d522e9dc173", kill_on_drop: false }`
[INFO] [stdout] bf752366e5c8871cb63719bed2baff6112d618989df706564f3d3d522e9dc173
