[INFO] fetching crate rypt 0.8.0...
[INFO] testing rypt-0.8.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-3
[INFO] extracting crate rypt 0.8.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate rypt 0.8.0
[INFO] finished tweaking crates.io crate rypt 0.8.0
[INFO] tweaked toml for crates.io crate rypt 0.8.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rypt 0.8.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rypt 0.8.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded redox_syscall v0.1.56
[INFO] [stderr]   Downloaded tempfile v3.0.8
[INFO] [stderr]   Downloaded rand v0.6.5
[INFO] [stderr]   Downloaded remove_dir_all v0.5.2
[INFO] [stderr]   Downloaded c2-chacha v0.2.2
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.5
[INFO] [stderr]   Downloaded xattr v0.2.2
[INFO] [stderr]   Downloaded which v2.0.1
[INFO] [stderr]   Downloaded multimap v0.4.0
[INFO] [stderr]   Downloaded iovec v0.1.2
[INFO] [stderr]   Downloaded pkg-config v0.3.15
[INFO] [stderr]   Downloaded rand_hc v0.1.0
[INFO] [stderr]   Downloaded take_mut v0.2.2
[INFO] [stderr]   Downloaded adler32 v1.0.3
[INFO] [stderr]   Downloaded hex-literal-impl v0.2.0
[INFO] [stderr]   Downloaded fuchsia-cprng v0.1.1
[INFO] [stderr]   Downloaded rand_chacha v0.1.1
[INFO] [stderr]   Downloaded thread_local v0.3.6
[INFO] [stderr]   Downloaded rand_core v0.3.1
[INFO] [stderr]   Downloaded rdrand v0.4.0
[INFO] [stderr]   Downloaded rand_pcg v0.1.2
[INFO] [stderr]   Downloaded prost-derive v0.5.0
[INFO] [stderr]   Downloaded lazy_static v1.3.0
[INFO] [stderr]   Downloaded failure_derive v0.1.5
[INFO] [stderr]   Downloaded rand_chacha v0.2.1
[INFO] [stderr]   Downloaded hex-literal v0.2.0
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded cfg-if v0.1.9
[INFO] [stderr]   Downloaded rand_xorshift v0.1.1
[INFO] [stderr]   Downloaded autocfg v0.1.5
[INFO] [stderr]   Downloaded bitflags v1.1.0
[INFO] [stderr]   Downloaded rand_isaac v0.1.1
[INFO] [stderr]   Downloaded fixedbitset v0.1.9
[INFO] [stderr]   Downloaded filetime v0.2.7
[INFO] [stderr]   Downloaded rand_jitter v0.1.4
[INFO] [stderr]   Downloaded rand_hc v0.2.0
[INFO] [stderr]   Downloaded rustc-demangle v0.1.16
[INFO] [stderr]   Downloaded static_assertions v0.3.4
[INFO] [stderr]   Downloaded either v1.5.2
[INFO] [stderr]   Downloaded unicode-width v0.1.5
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.9
[INFO] [stderr]   Downloaded unicode-xid v0.1.0
[INFO] [stderr]   Downloaded getopts v0.2.19
[INFO] [stderr]   Downloaded rand_os v0.1.3
[INFO] [stderr]   Downloaded quote v0.6.13
[INFO] [stderr]   Downloaded prost v0.5.0
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded rand_core v0.4.2
[INFO] [stderr]   Downloaded cloudabi v0.0.3
[INFO] [stderr]   Downloaded byteorder v1.3.2
[INFO] [stderr]   Downloaded quickcheck v0.8.5
[INFO] [stderr]   Downloaded heck v0.3.1
[INFO] [stderr]   Downloaded quote v1.0.1
[INFO] [stderr]   Downloaded wasi v0.5.0
[INFO] [stderr]   Downloaded vcpkg v0.2.7
[INFO] [stderr]   Downloaded memchr v2.2.1
[INFO] [stderr]   Downloaded synstructure v0.10.2
[INFO] [stderr]   Downloaded rand_core v0.5.0
[INFO] [stderr]   Downloaded getrandom v0.1.9
[INFO] [stderr]   Downloaded prost-types v0.5.0
[INFO] [stderr]   Downloaded tar v0.4.26
[INFO] [stderr]   Downloaded cc v1.0.40
[INFO] [stderr]   Downloaded proc-macro2 v1.0.1
[INFO] [stderr]   Downloaded env_logger v0.6.2
[INFO] [stderr]   Downloaded crossbeam-utils v0.6.6
[INFO] [stderr]   Downloaded backtrace v0.3.34
[INFO] [stderr]   Downloaded bytes v0.4.12
[INFO] [stderr]   Downloaded crc32fast v1.2.0
[INFO] [stderr]   Downloaded failure v0.1.5
[INFO] [stderr]   Downloaded rle-decode-fast v1.0.1
[INFO] [stderr]   Downloaded proc-macro2 v0.4.30
[INFO] [stderr]   Downloaded libflate v0.1.26
[INFO] [stderr]   Downloaded itertools v0.8.0
[INFO] [stderr]   Downloaded crossbeam-channel v0.3.9
[INFO] [stderr]   Downloaded aho-corasick v0.7.6
[INFO] [stderr]   Downloaded unicode-segmentation v1.3.0
[INFO] [stderr]   Downloaded rand v0.7.0
[INFO] [stderr]   Downloaded petgraph v0.4.13
[INFO] [stderr]   Downloaded syn v0.15.44
[INFO] [stderr]   Downloaded syn v1.0.2
[INFO] [stderr]   Downloaded regex v1.2.1
[INFO] [stderr]   Downloaded regex-syntax v0.6.11
[INFO] [stderr]   Downloaded libc v0.2.62
[INFO] [stderr]   Downloaded winapi v0.2.8
[INFO] [stderr]   Downloaded backtrace-sys v0.1.31
[INFO] [stderr]   Downloaded winapi v0.3.7
[INFO] [stderr]   Downloaded libsodium-sys v0.2.2
[INFO] [stderr]   Downloaded prost-build v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34
[INFO] running `Command { std: "docker" "start" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling cc v1.0.40
[INFO] [stderr]    Compiling cfg-if v0.1.9
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling failure_derive v0.1.5
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling autocfg v0.1.5
[INFO] [stderr]    Compiling rustc-demangle v0.1.16
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling either v1.5.2
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling adler32 v1.0.3
[INFO] [stderr]    Compiling rle-decode-fast v1.0.1
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling getrandom v0.1.9
[INFO] [stderr]    Compiling take_mut v0.2.2
[INFO] [stderr]    Compiling remove_dir_all v0.5.2
[INFO] [stderr]    Compiling pkg-config v0.3.15
[INFO] [stderr]    Compiling itertools v0.8.0
[INFO] [stderr]    Compiling unicode-segmentation v1.3.0
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling libflate v0.1.26
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling ppv-lite86 v0.2.5
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]    Compiling multimap v0.4.0
[INFO] [stderr]    Compiling iovec v0.1.2
[INFO] [stderr]    Compiling crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling xattr v0.2.2
[INFO] [stderr]    Compiling filetime v0.2.7
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling backtrace-sys v0.1.31
[INFO] [stderr]    Compiling rand_core v0.5.0
[INFO] [stderr]    Compiling unicode-width v0.1.5
[INFO] [stderr]    Compiling c2-chacha v0.2.2
[INFO] [stderr]    Compiling static_assertions v0.3.4
[INFO] [stderr]    Compiling tar v0.4.26
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling getopts v0.2.19
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling crossbeam-channel v0.3.9
[INFO] [stderr]    Compiling rand v0.7.0
[INFO] [stderr]    Compiling libsodium-sys v0.2.2
[INFO] [stderr]    Compiling tempfile v3.0.8
[INFO] [stderr]    Compiling backtrace v0.3.34
[INFO] [stderr]    Compiling synstructure v0.10.2
[INFO] [stderr]    Compiling failure v0.1.5
[INFO] [stderr]    Compiling which v2.0.1
[INFO] [stderr]    Compiling prost-derive v0.5.0
[INFO] [stderr]    Compiling prost-build v0.5.0
[INFO] [stderr]    Compiling prost v0.5.0
[INFO] [stderr]    Compiling prost-types v0.5.0
[INFO] [stderr]    Compiling rypt v0.8.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/cli/mod.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 (true, true) => bail!("Can't have both --keep-inputs and --discard-inputs flags."),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) 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/header_crypto.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 _ => bail!("Unknown AEAD algorithm in Libsodium cryptofamily. Upgrade rypt?"),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/header_crypto.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |         _ => bail!("Unknown cryptofamily. Upgrade rypt?"),
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/header_crypto.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 360 |         None => bail!("Invalid composite key: no payload"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/stream_pipeline.rs:149:23
[INFO] [stdout]     |
[INFO] [stdout] 149 |             Err(_) => bail!("{} thread panic", operation.to_string()),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/ui.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |                       Some(_) => bail!(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 196 | |                         "Error reading from stdin: Non-UTF8 byte sequence encountered: {}",
[INFO] [stdout] 197 | |                         to_hex_string(char_bytes)
[INFO] [stdout] 198 | |                     ),
[INFO] [stdout]     | |_____________________^
[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: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/util.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let scale = SCALES[(scale_idx as usize)];
[INFO] [stdout]    |                        ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -     let scale = SCALES[(scale_idx as usize)];
[INFO] [stdout] 15 +     let scale = SCALES[scale_idx as usize];
[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/crypto/mod.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stdout]    |                                         ^---
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Fail` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoError`
[INFO] [stdout] 64 | pub enum CryptoError {
[INFO] [stdout]    |          ----------- `CryptoError` 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/crypto/mod.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[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_CryptoError`
[INFO] [stdout] 64 | pub enum CryptoError {
[INFO] [stdout]    |          ----------- `CryptoError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/crypto/mod.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stdout]    |                                         ^---
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Fail` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoInstantiationError`
[INFO] [stdout] 76 | pub enum CryptoInstantiationError {
[INFO] [stdout]    |          ------------------------ `CryptoInstantiationError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/crypto/mod.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[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_CryptoInstantiationError`
[INFO] [stdout] 76 | pub enum CryptoInstantiationError {
[INFO] [stdout]    |          ------------------------ `CryptoInstantiationError` 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] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/crypto/rng.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(cryptosys: &dyn CryptoSystem) -> CryptoSystemRng {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(cryptosys: &dyn CryptoSystem) -> CryptoSystemRng<'_> {
[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/errors.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[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_CompositeError`
[INFO] [stdout] 4 | #[fail(display = "")]
[INFO] [stdout] 5 | pub struct CompositeError {
[INFO] [stdout]   |            -------------- `CompositeError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[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_CompositeError`
[INFO] [stdout] 4 | #[fail(display = "")]
[INFO] [stdout] 5 | pub struct CompositeError {
[INFO] [stdout]   |            -------------- `CompositeError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/shamir/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SecretShareError`
[INFO] [stdout] 12 | pub enum SecretShareError {
[INFO] [stdout]    |          ---------------- `SecretShareError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/shamir/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Fail)]
[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_SecretShareError`
[INFO] [stdout] 12 | pub enum SecretShareError {
[INFO] [stdout]    |          ---------------- `SecretShareError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/util.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Fail, Debug, PartialEq)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ParseHexError`
[INFO] [stdout] 70 | pub enum ParseHexError {
[INFO] [stdout]    |          ------------- `ParseHexError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/util.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Fail, Debug, PartialEq)]
[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_ParseHexError`
[INFO] [stdout] 70 | pub enum ParseHexError {
[INFO] [stdout]    |          ------------- `ParseHexError` 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]     Finished `release` profile [optimized] target(s) in 1m 34s
[INFO] running `Command { std: "docker" "inspect" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.1
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling syn v1.0.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling regex-syntax v0.6.11
[INFO] [stderr]    Compiling remove_dir_all v0.5.2
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/cli/mod.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 (true, true) => bail!("Can't have both --keep-inputs and --discard-inputs flags."),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) 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/header_crypto.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 _ => bail!("Unknown AEAD algorithm in Libsodium cryptofamily. Upgrade rypt?"),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/header_crypto.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |         _ => bail!("Unknown cryptofamily. Upgrade rypt?"),
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/header_crypto.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 360 |         None => bail!("Invalid composite key: no payload"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/stream_pipeline.rs:149:23
[INFO] [stdout]     |
[INFO] [stdout] 149 |             Err(_) => bail!("{} thread panic", operation.to_string()),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/ui.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |                       Some(_) => bail!(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 196 | |                         "Error reading from stdin: Non-UTF8 byte sequence encountered: {}",
[INFO] [stdout] 197 | |                         to_hex_string(char_bytes)
[INFO] [stdout] 198 | |                     ),
[INFO] [stdout]     | |_____________________^
[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: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/util.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let scale = SCALES[(scale_idx as usize)];
[INFO] [stdout]    |                        ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -     let scale = SCALES[(scale_idx as usize)];
[INFO] [stdout] 15 +     let scale = SCALES[scale_idx as usize];
[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/crypto/mod.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stdout]    |                                         ^---
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Fail` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoError`
[INFO] [stdout] 64 | pub enum CryptoError {
[INFO] [stdout]    |          ----------- `CryptoError` 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/crypto/mod.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[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_CryptoError`
[INFO] [stdout] 64 | pub enum CryptoError {
[INFO] [stdout]    |          ----------- `CryptoError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/crypto/mod.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stdout]    |                                         ^---
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Fail` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoInstantiationError`
[INFO] [stdout] 76 | pub enum CryptoInstantiationError {
[INFO] [stdout]    |          ------------------------ `CryptoInstantiationError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/crypto/mod.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[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_CryptoInstantiationError`
[INFO] [stdout] 76 | pub enum CryptoInstantiationError {
[INFO] [stdout]    |          ------------------------ `CryptoInstantiationError` 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] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/crypto/rng.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(cryptosys: &dyn CryptoSystem) -> CryptoSystemRng {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(cryptosys: &dyn CryptoSystem) -> CryptoSystemRng<'_> {
[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/errors.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[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_CompositeError`
[INFO] [stdout] 4 | #[fail(display = "")]
[INFO] [stdout] 5 | pub struct CompositeError {
[INFO] [stdout]   |            -------------- `CompositeError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[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_CompositeError`
[INFO] [stdout] 4 | #[fail(display = "")]
[INFO] [stdout] 5 | pub struct CompositeError {
[INFO] [stdout]   |            -------------- `CompositeError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/shamir/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SecretShareError`
[INFO] [stdout] 12 | pub enum SecretShareError {
[INFO] [stdout]    |          ---------------- `SecretShareError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/shamir/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Fail)]
[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_SecretShareError`
[INFO] [stdout] 12 | pub enum SecretShareError {
[INFO] [stdout]    |          ---------------- `SecretShareError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/util.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Fail, Debug, PartialEq)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ParseHexError`
[INFO] [stdout] 70 | pub enum ParseHexError {
[INFO] [stdout]    |          ------------- `ParseHexError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/util.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Fail, Debug, PartialEq)]
[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_ParseHexError`
[INFO] [stdout] 70 | pub enum ParseHexError {
[INFO] [stdout]    |          ------------- `ParseHexError` 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]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling aho-corasick v0.7.6
[INFO] [stderr]    Compiling quote v1.0.1
[INFO] [stderr]    Compiling tempfile v3.0.8
[INFO] [stderr]    Compiling regex v1.2.1
[INFO] [stderr]    Compiling proc-macro-hack v0.5.9
[INFO] [stderr]    Compiling env_logger v0.6.2
[INFO] [stderr]    Compiling hex-literal-impl v0.2.0
[INFO] [stderr]    Compiling quickcheck v0.8.5
[INFO] [stderr]    Compiling hex-literal v0.2.0
[INFO] [stderr]    Compiling rypt v0.8.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/cli/mod.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 (true, true) => bail!("Can't have both --keep-inputs and --discard-inputs flags."),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) 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/header_crypto.rs:59:22
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 _ => bail!("Unknown AEAD algorithm in Libsodium cryptofamily. Upgrade rypt?"),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/header_crypto.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |         _ => bail!("Unknown cryptofamily. Upgrade rypt?"),
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/header_crypto.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 360 |         None => bail!("Invalid composite key: no payload"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/stream_pipeline.rs:149:23
[INFO] [stdout]     |
[INFO] [stdout] 149 |             Err(_) => bail!("{} thread panic", operation.to_string()),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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/ui.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |                       Some(_) => bail!(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 196 | |                         "Error reading from stdin: Non-UTF8 byte sequence encountered: {}",
[INFO] [stdout] 197 | |                         to_hex_string(char_bytes)
[INFO] [stdout] 198 | |                     ),
[INFO] [stdout]     | |_____________________^
[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: unnecessary parentheses around index expression
[INFO] [stdout]   --> src/util.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let scale = SCALES[(scale_idx as usize)];
[INFO] [stdout]    |                        ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -     let scale = SCALES[(scale_idx as usize)];
[INFO] [stdout] 15 +     let scale = SCALES[scale_idx as usize];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/util.rs:157:48
[INFO] [stdout]     |
[INFO] [stdout] 157 |         assert_eq!(human_file_size(std::usize::MAX), "16.00 EiB");
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[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/crypto/mod.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stdout]    |                                         ^---
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Fail` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoError`
[INFO] [stdout] 64 | pub enum CryptoError {
[INFO] [stdout]    |          ----------- `CryptoError` 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/crypto/mod.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[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_CryptoError`
[INFO] [stdout] 64 | pub enum CryptoError {
[INFO] [stdout]    |          ----------- `CryptoError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/crypto/mod.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stdout]    |                                         ^---
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Fail` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoInstantiationError`
[INFO] [stdout] 76 | pub enum CryptoInstantiationError {
[INFO] [stdout]    |          ------------------------ `CryptoInstantiationError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/crypto/mod.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[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_CryptoInstantiationError`
[INFO] [stdout] 76 | pub enum CryptoInstantiationError {
[INFO] [stdout]    |          ------------------------ `CryptoInstantiationError` 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] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/crypto/rng.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(cryptosys: &dyn CryptoSystem) -> CryptoSystemRng {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(cryptosys: &dyn CryptoSystem) -> CryptoSystemRng<'_> {
[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/errors.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[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_CompositeError`
[INFO] [stdout] 4 | #[fail(display = "")]
[INFO] [stdout] 5 | pub struct CompositeError {
[INFO] [stdout]   |            -------------- `CompositeError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[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_CompositeError`
[INFO] [stdout] 4 | #[fail(display = "")]
[INFO] [stdout] 5 | pub struct CompositeError {
[INFO] [stdout]   |            -------------- `CompositeError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/shamir/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SecretShareError`
[INFO] [stdout] 12 | pub enum SecretShareError {
[INFO] [stdout]    |          ---------------- `SecretShareError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/shamir/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Fail)]
[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_SecretShareError`
[INFO] [stdout] 12 | pub enum SecretShareError {
[INFO] [stdout]    |          ---------------- `SecretShareError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/util.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Fail, Debug, PartialEq)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Fail` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ParseHexError`
[INFO] [stdout] 70 | pub enum ParseHexError {
[INFO] [stdout]    |          ------------- `ParseHexError` 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] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/util.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Fail, Debug, PartialEq)]
[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_ParseHexError`
[INFO] [stdout] 70 | pub enum ParseHexError {
[INFO] [stdout]    |          ------------- `ParseHexError` 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]     Finished `release` profile [optimized] target(s) in 52.38s
[INFO] running `Command { std: "docker" "inspect" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/cli/mod.rs:113:33
[INFO] [stderr]     |
[INFO] [stderr] 113 |                 (true, true) => bail!("Can't have both --keep-inputs and --discard-inputs flags."),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/header_crypto.rs:59:22
[INFO] [stderr]    |
[INFO] [stderr] 59 |                 _ => bail!("Unknown AEAD algorithm in Libsodium cryptofamily. Upgrade rypt?"),
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/header_crypto.rs:63:14
[INFO] [stderr]    |
[INFO] [stderr] 63 |         _ => bail!("Unknown cryptofamily. Upgrade rypt?"),
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/header_crypto.rs:360:17
[INFO] [stderr]     |
[INFO] [stderr] 360 |         None => bail!("Invalid composite key: no payload"),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/stream_pipeline.rs:149:23
[INFO] [stderr]     |
[INFO] [stderr] 149 |             Err(_) => bail!("{} thread panic", operation.to_string()),
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/ui.rs:195:32
[INFO] [stderr]     |
[INFO] [stderr] 195 |                       Some(_) => bail!(
[INFO] [stderr]     |  ________________________________^
[INFO] [stderr] 196 | |                         "Error reading from stdin: Non-UTF8 byte sequence encountered: {}",
[INFO] [stderr] 197 | |                         to_hex_string(char_bytes)
[INFO] [stderr] 198 | |                     ),
[INFO] [stderr]     | |_____________________^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around index expression
[INFO] [stderr]   --> src/util.rs:15:24
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let scale = SCALES[(scale_idx as usize)];
[INFO] [stderr]    |                        ^                  ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 15 -     let scale = SCALES[(scale_idx as usize)];
[INFO] [stderr] 15 +     let scale = SCALES[scale_idx as usize];
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/crypto/mod.rs:63:41
[INFO] [stderr]    |
[INFO] [stderr] 63 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stderr]    |                                         ^---
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Fail` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoError`
[INFO] [stderr] 64 | pub enum CryptoError {
[INFO] [stderr]    |          ----------- `CryptoError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/crypto/mod.rs:63:41
[INFO] [stderr]    |
[INFO] [stderr] 63 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stderr]    |                                         ^---
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Display` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CryptoError`
[INFO] [stderr] 64 | pub enum CryptoError {
[INFO] [stderr]    |          ----------- `CryptoError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/crypto/mod.rs:75:41
[INFO] [stderr]    |
[INFO] [stderr] 75 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stderr]    |                                         ^---
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Fail` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CryptoInstantiationError`
[INFO] [stderr] 76 | pub enum CryptoInstantiationError {
[INFO] [stderr]    |          ------------------------ `CryptoInstantiationError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/crypto/mod.rs:75:41
[INFO] [stderr]    |
[INFO] [stderr] 75 | #[derive(Copy, Clone, Debug, PartialEq, Fail)]
[INFO] [stderr]    |                                         ^---
[INFO] [stderr]    |                                         |
[INFO] [stderr]    |                                         `Display` is not local
[INFO] [stderr]    |                                         move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CryptoInstantiationError`
[INFO] [stderr] 76 | pub enum CryptoInstantiationError {
[INFO] [stderr]    |          ------------------------ `CryptoInstantiationError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/crypto/rng.rs:11:27
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub fn new(cryptosys: &dyn CryptoSystem) -> CryptoSystemRng {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub fn new(cryptosys: &dyn CryptoSystem) -> CryptoSystemRng<'_> {
[INFO] [stderr]    |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/errors.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Fail, Debug)]
[INFO] [stderr]   |          ^---
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `Fail` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CompositeError`
[INFO] [stderr] 4 | #[fail(display = "")]
[INFO] [stderr] 5 | pub struct CompositeError {
[INFO] [stderr]   |            -------------- `CompositeError` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/errors.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Fail, Debug)]
[INFO] [stderr]   |          ^---
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `Display` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CompositeError`
[INFO] [stderr] 4 | #[fail(display = "")]
[INFO] [stderr] 5 | pub struct CompositeError {
[INFO] [stderr]   |            -------------- `CompositeError` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = 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] [stderr]   = 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] [stderr]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/shamir/mod.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SecretShareError`
[INFO] [stderr] 12 | pub enum SecretShareError {
[INFO] [stderr]    |          ---------------- `SecretShareError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/shamir/mod.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Display` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SecretShareError`
[INFO] [stderr] 12 | pub enum SecretShareError {
[INFO] [stderr]    |          ---------------- `SecretShareError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/util.rs:69:10
[INFO] [stderr]    |
[INFO] [stderr] 69 | #[derive(Fail, Debug, PartialEq)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Fail` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ParseHexError`
[INFO] [stderr] 70 | pub enum ParseHexError {
[INFO] [stderr]    |          ------------- `ParseHexError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/util.rs:69:10
[INFO] [stderr]    |
[INFO] [stderr] 69 | #[derive(Fail, Debug, PartialEq)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Display` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ParseHexError`
[INFO] [stderr] 70 | pub enum ParseHexError {
[INFO] [stderr]    |          ------------- `ParseHexError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `rypt` (lib) generated 18 warnings (run `cargo fix --lib -p rypt` to apply 2 suggestions)
[INFO] [stderr] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/util.rs:157:48
[INFO] [stderr]     |
[INFO] [stderr] 157 |         assert_eq!(human_file_size(std::usize::MAX), "16.00 EiB");
[INFO] [stderr]     |                                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rypt` (lib test) generated 19 warnings (18 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/rypt-d74ea4ca6754b375)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test cli::credentials::tests::test_empty_args ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_hash_hmac ... ok
[INFO] [stdout] test cli::credentials::tests::test_complex_encryption_happy_path ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_distributivity ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_associativity ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_associativity ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_commutativity ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_box_easy ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_aead ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_box ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_aead_easy ... ok
[INFO] [stdout] test util::tests::parse_hex_test ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_inverses ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_commutativity ... ok
[INFO] [stdout] test util::tests::human_file_size_test ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_inverses ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_identity ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_signatures ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_random ... ok
[INFO] [stdout] test crypto::rng::tests::test_basic ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_identity ... ok
[INFO] [stdout] test shamir::tests::basic_test ... ok
[INFO] [stdout] test util::tests::to_hex_string_test ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_distributivity ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_key_derivation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/rypt-a71a44bea005a293)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/basic_tests.rs (/opt/rustwide/target/release/deps/basic_tests-becd1e5143aae5d0)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test extra_quiet ... ok
[INFO] [stdout] test print_version ... ok
[INFO] [stdout] test help_message ... ok
[INFO] [stdout] test simple_file_encrypt_decrypt_without_extension_xchacha20 ... ok
[INFO] [stdout] test public_key_file_encrypt_decrypt ... ok
[INFO] [stdout] test simple_file_encrypt_decrypt_with_extension_aes256gcm ... ok
[INFO] [stdout] test simple_file_encrypt_decrypt_with_extension_xchacha20 ... ok
[INFO] [stdout] test simple_file_encrypt_decrypt_without_extension_aes256gcm ... ok
[INFO] [stdout] test encrypt_decrypt_stdio ... ok
[INFO] [stdout] test threshold_encrypt_decrypt ... ok
[INFO] [stdout] test max_threshold_encrypt_decrypt ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.67s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/force_tests.rs (/opt/rustwide/target/release/deps/force_tests-7449bd1f34d5da37)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test write_binary_data_to_terminal_not_allowed ... ok
[INFO] [stdout] test read_binary_data_from_terminal_not_allowed ... ok
[INFO] [stdout] test extension_checks_decryption ... ok
[INFO] [stdout] test extension_checks_encryption ... ok
[INFO] [stdout] test hardlinks_not_allowed ... ok
[INFO] [stdout] test symlinks_not_allowed ... ok
[INFO] [stdout] test overwrite_existing_files_not_allowed ... ok
[INFO] [stderr]      Running tests/tty_verbosity_tests.rs (/opt/rustwide/target/release/deps/tty_verbosity_tests-65c867971bc5ccaf)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test basic_tty_usage_with_file ... ok
[INFO] [stdout] test pipe_tty_encoding_decoding ... ok
[INFO] [stdout] test very_quiet_operation ... ok
[INFO] [stdout] test quiet_operation ... ok
[INFO] [stderr]      Running tests/util.rs (/opt/rustwide/target/release/deps/util-8e05bfafd73a8d9d)
[INFO] [stdout] test pipe_encoding_decoding ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rypt
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around index expression
[INFO] [stderr]   --> src/util.rs:15:24
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let scale = SCALES[(scale_idx as usize)];
[INFO] [stderr]    |                        ^                  ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 15 -     let scale = SCALES[(scale_idx as usize)];
[INFO] [stderr] 15 +     let scale = SCALES[scale_idx as usize];
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34", kill_on_drop: false }`
[INFO] [stdout] 5254d35f880de6c59829a511e4d46a2a2ceb1ea818ed6a0aaec86100a43ccb34
