[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-2
[INFO] extracting crate rypt 0.8.0 into /workspace/builds/worker-3-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-3-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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cfg-if v0.1.9
[INFO] [stderr]   Downloaded autocfg v0.1.5
[INFO] [stderr]   Downloaded static_assertions v0.3.4
[INFO] [stderr]   Downloaded tempfile v3.0.8
[INFO] [stderr]   Downloaded rand v0.7.0
[INFO] [stderr]   Downloaded prost-types v0.5.0
[INFO] [stderr]   Downloaded rand_core v0.5.0
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.9
[INFO] [stderr]   Downloaded cc v1.0.40
[INFO] [stderr]   Downloaded vcpkg v0.2.7
[INFO] [stderr]   Downloaded multimap v0.4.0
[INFO] [stderr]   Downloaded prost-derive v0.5.0
[INFO] [stderr]   Downloaded hex-literal v0.2.0
[INFO] [stderr]   Downloaded c2-chacha v0.2.2
[INFO] [stderr]   Downloaded lazy_static v1.3.0
[INFO] [stderr]   Downloaded iovec v0.1.2
[INFO] [stderr]   Downloaded either v1.5.2
[INFO] [stderr]   Downloaded pkg-config v0.3.15
[INFO] [stderr]   Downloaded adler32 v1.0.3
[INFO] [stderr]   Downloaded getrandom v0.1.9
[INFO] [stderr]   Downloaded fixedbitset v0.1.9
[INFO] [stderr]   Downloaded hex-literal-impl v0.2.0
[INFO] [stderr]   Downloaded filetime v0.2.7
[INFO] [stderr]   Downloaded quote v1.0.1
[INFO] [stderr]   Downloaded getopts v0.2.19
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.5
[INFO] [stderr]   Downloaded memchr v2.2.1
[INFO] [stderr]   Downloaded prost v0.5.0
[INFO] [stderr]   Downloaded tar v0.4.26
[INFO] [stderr]   Downloaded wasi v0.5.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.1
[INFO] [stderr]   Downloaded libflate v0.1.26
[INFO] [stderr]   Downloaded rle-decode-fast v1.0.1
[INFO] [stderr]   Downloaded itertools v0.8.0
[INFO] [stderr]   Downloaded backtrace v0.3.34
[INFO] [stderr]   Downloaded unicode-segmentation v1.3.0
[INFO] [stderr]   Downloaded crossbeam-channel v0.3.9
[INFO] [stderr]   Downloaded aho-corasick v0.7.6
[INFO] [stderr]   Downloaded petgraph v0.4.13
[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 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-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e
[INFO] running `Command { std: "docker" "start" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e", 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" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e" "/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" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e", 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" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e" "/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 byteorder v1.3.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.16
[INFO] [stderr]    Compiling either v1.5.2
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling getrandom v0.1.9
[INFO] [stderr]    Compiling take_mut v0.2.2
[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 itertools v0.8.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling unicode-segmentation v1.3.0
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling remove_dir_all v0.5.2
[INFO] [stderr]    Compiling pkg-config v0.3.15
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[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 rand_isaac v0.1.1
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]    Compiling multimap v0.4.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.5
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling libflate v0.1.26
[INFO] [stderr]    Compiling crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling unicode-width v0.1.5
[INFO] [stderr]    Compiling static_assertions v0.3.4
[INFO] [stderr]    Compiling getopts v0.2.19
[INFO] [stderr]    Compiling iovec v0.1.2
[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 bytes v0.4.12
[INFO] [stderr]    Compiling backtrace-sys v0.1.31
[INFO] [stderr]    Compiling c2-chacha v0.2.2
[INFO] [stderr]    Compiling tar v0.4.26
[INFO] [stderr]    Compiling crossbeam-channel v0.3.9
[INFO] [stderr]    Compiling rand_core v0.5.0
[INFO] [stderr]    Compiling tempfile v3.0.8
[INFO] [stderr]    Compiling libsodium-sys v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling rand v0.7.0
[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 33s
[INFO] running `Command { std: "docker" "inspect" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e", 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" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e" "/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 memchr v2.2.1
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[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 log v0.4.8
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling thread_local v0.3.6
[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_os v0.1.3
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling aho-corasick v0.7.6
[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 quote v1.0.1
[INFO] [stderr]    Compiling tempfile v3.0.8
[INFO] [stderr]    Compiling proc-macro-hack v0.5.9
[INFO] [stderr]    Compiling regex v1.2.1
[INFO] [stderr]    Compiling hex-literal-impl v0.2.0
[INFO] [stderr]    Compiling hex-literal v0.2.0
[INFO] [stderr]    Compiling env_logger v0.6.2
[INFO] [stderr]    Compiling quickcheck v0.8.5
[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 51.29s
[INFO] running `Command { std: "docker" "inspect" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e", 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" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e" "/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.17s
[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_aead_easy ... ok
[INFO] [stdout] test cli::credentials::tests::test_complex_encryption_happy_path ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_random ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_signatures ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_commutativity ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_associativity ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_commutativity ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_distributivity ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_identity ... ok
[INFO] [stdout] test shamir::tests::basic_test ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_inverses ... ok
[INFO] [stdout] test util::tests::human_file_size_test ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_associativity ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_aead ... ok
[INFO] [stdout] test shamir::gf256::tests::multiplication::law_inverses ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_distributivity ... ok
[INFO] [stdout] test util::tests::parse_hex_test ... ok
[INFO] [stdout] test util::tests::to_hex_string_test ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_box ... ok
[INFO] [stdout] test crypto::rng::tests::test_basic ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_box_easy ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_hash_hmac ... ok
[INFO] [stdout] test shamir::gf256::tests::addition::law_identity ... ok
[INFO] [stdout] test crypto::libsodium::tests::test_key_derivation ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/rypt-a71a44bea005a293)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[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 help_message ... ok
[INFO] [stdout] test print_version ... ok
[INFO] [stdout] test extra_quiet ... ok
[INFO] [stdout] test simple_file_encrypt_decrypt_with_extension_xchacha20 ... ok
[INFO] [stdout] test simple_file_encrypt_decrypt_with_extension_aes256gcm ... ok
[INFO] [stdout] test public_key_file_encrypt_decrypt ... ok
[INFO] [stdout] test simple_file_encrypt_decrypt_without_extension_aes256gcm ... ok
[INFO] [stdout] test simple_file_encrypt_decrypt_without_extension_xchacha20 ... 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.82s
[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 extension_checks_decryption ... ok
[INFO] [stdout] test read_binary_data_from_terminal_not_allowed ... ok
[INFO] [stdout] test extension_checks_encryption ... ok
[INFO] [stdout] test hardlinks_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] test symlinks_not_allowed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test pipe_encoding_decoding ... ok
[INFO] [stdout] test very_quiet_operation ... ok
[INFO] [stdout] test quiet_operation ... ok
[INFO] [stdout] test pipe_tty_encoding_decoding ... ok
[INFO] [stdout] test basic_tty_usage_with_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.69s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/util.rs (/opt/rustwide/target/release/deps/util-8e05bfafd73a8d9d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rypt
[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" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e", kill_on_drop: false }`
[INFO] [stdout] 546c7a1764ffbae691bd32e536e2069e65908431ed08e178a3535d1d063a8b9e
