[INFO] cloning repository https://github.com/vks/mpw-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vks/mpw-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvks%2Fmpw-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvks%2Fmpw-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ab81ee4340815c607f863fba28a1ffc8d065ebb3
[INFO] checking vks/mpw-rs against master#b389b0ab72cb0aa9acf4df0ae0c0e12090782da9 for pr-128351-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvks%2Fmpw-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/vks/mpw-rs on toolchain b389b0ab72cb0aa9acf4df0ae0c0e12090782da9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b389b0ab72cb0aa9acf4df0ae0c0e12090782da9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/vks/mpw-rs
[INFO] finished tweaking git repo https://github.com/vks/mpw-rs
[INFO] tweaked toml for git repo https://github.com/vks/mpw-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/vks/mpw-rs 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" "+b389b0ab72cb0aa9acf4df0ae0c0e12090782da9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded utf8-ranges v1.0.1
[INFO] [stderr]   Downloaded redox_syscall v0.1.40
[INFO] [stderr]   Downloaded lazy_static v1.1.0
[INFO] [stderr]   Downloaded nodrop v0.1.12
[INFO] [stderr]   Downloaded errno-dragonfly v0.1.1
[INFO] [stderr]   Downloaded atty v0.2.11
[INFO] [stderr]   Downloaded ansi_term v0.11.0
[INFO] [stderr]   Downloaded byteorder v1.2.6
[INFO] [stderr]   Downloaded memchr v2.0.2
[INFO] [stderr]   Downloaded termion v1.5.1
[INFO] [stderr]   Downloaded gcc v0.3.54
[INFO] [stderr]   Downloaded serde_derive v1.0.78
[INFO] [stderr]   Downloaded rayon-core v1.4.1
[INFO] [stderr]   Downloaded rayon v0.8.2
[INFO] [stderr]   Downloaded serde v1.0.78
[INFO] [stderr]   Downloaded syn v0.11.11
[INFO] [stderr]   Downloaded syn v0.15.3
[INFO] [stderr]   Downloaded itertools v0.7.8
[INFO] [stderr]   Downloaded clap v2.32.0
[INFO] [stderr]   Downloaded proc-macro2 v0.4.19
[INFO] [stderr]   Downloaded regex v0.2.11
[INFO] [stderr]   Downloaded regex-syntax v0.5.6
[INFO] [stderr]   Downloaded regex-syntax v0.6.2
[INFO] [stderr]   Downloaded regex v1.0.5
[INFO] [stderr]   Downloaded libc v0.2.43
[INFO] [stderr]   Downloaded custom_derive v0.1.7
[INFO] [stderr]   Downloaded zxcvbn v1.0.1
[INFO] [stderr]   Downloaded data-encoding v1.2.0
[INFO] [stderr]   Downloaded data-encoding v2.1.1
[INFO] [stderr]   Downloaded scopeguard v0.3.3
[INFO] [stderr]   Downloaded crossbeam-epoch v0.3.1
[INFO] [stderr]   Downloaded crossbeam-deque v0.2.0
[INFO] [stderr]   Downloaded num_cpus v1.8.0
[INFO] [stderr]   Downloaded ring-pwhash v0.12.0
[INFO] [stderr]   Downloaded unicode-xid v0.1.0
[INFO] [stderr]   Downloaded toml v0.4.6
[INFO] [stderr]   Downloaded derive_builder_core v0.2.0
[INFO] [stderr]   Downloaded synom v0.11.3
[INFO] [stderr]   Downloaded derive_builder v0.5.1
[INFO] [stderr]   Downloaded bit-vec v0.4.4
[INFO] [stderr]   Downloaded bit-set v0.4.0
[INFO] [stderr]   Downloaded lazy_static v0.2.11
[INFO] [stderr]   Downloaded memchr v1.0.2
[INFO] [stderr]   Downloaded fancy-regex v0.1.0
[INFO] [stderr]   Downloaded quick-error v1.2.2
[INFO] [stderr]   Downloaded aho-corasick v0.6.8
[INFO] [stderr]   Downloaded ucd-util v0.1.1
[INFO] [stderr]   Downloaded version_check v0.1.4
[INFO] [stderr]   Downloaded winapi v0.3.5
[INFO] [stderr]   Downloaded time v0.1.40
[INFO] [stderr]   Downloaded redox_termios v0.1.1
[INFO] [stderr]   Downloaded bitflags v1.0.4
[INFO] [stderr]   Downloaded strsim v0.7.0
[INFO] [stderr]   Downloaded textwrap v0.10.0
[INFO] [stderr]   Downloaded unicode-width v0.1.5
[INFO] [stderr]   Downloaded vec_map v0.8.1
[INFO] [stderr]   Downloaded conv v0.3.3
[INFO] [stderr]   Downloaded errno v0.2.4
[INFO] [stderr]   Downloaded arrayvec v0.4.7
[INFO] [stderr]   Downloaded memoffset v0.2.1
[INFO] [stderr]   Downloaded cfg-if v0.1.5
[INFO] [stderr]   Downloaded crossbeam-utils v0.2.2
[INFO] [stderr]   Downloaded untrusted v0.5.1
[INFO] [stderr]   Downloaded quote v0.6.8
[INFO] [stderr]   Downloaded quote v0.3.15
[INFO] [stderr]   Downloaded unicode-xid v0.0.4
[INFO] [stderr]   Downloaded ring v0.12.1
[INFO] [stderr]   Downloaded rpassword v2.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+b389b0ab72cb0aa9acf4df0ae0c0e12090782da9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3f171363bca9ce6e5a9edc9fd6cd2050667cf6acba0f81d0cfe9c8cc82e9b60c
[INFO] running `Command { std: "docker" "start" "-a" "3f171363bca9ce6e5a9edc9fd6cd2050667cf6acba0f81d0cfe9c8cc82e9b60c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3f171363bca9ce6e5a9edc9fd6cd2050667cf6acba0f81d0cfe9c8cc82e9b60c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f171363bca9ce6e5a9edc9fd6cd2050667cf6acba0f81d0cfe9c8cc82e9b60c", kill_on_drop: false }`
[INFO] [stdout] 3f171363bca9ce6e5a9edc9fd6cd2050667cf6acba0f81d0cfe9c8cc82e9b60c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+b389b0ab72cb0aa9acf4df0ae0c0e12090782da9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d73916cabc89d61643068c69b168c2c7214f9c0ba3e8c12657af8aae59f54c26
[INFO] running `Command { std: "docker" "start" "-a" "d73916cabc89d61643068c69b168c2c7214f9c0ba3e8c12657af8aae59f54c26", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling version_check v0.1.4
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]    Compiling cfg-if v0.1.5
[INFO] [stderr]    Compiling nodrop v0.1.12
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling memoffset v0.2.1
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling arrayvec v0.4.7
[INFO] [stderr]    Compiling crossbeam-utils v0.2.2
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.19
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking utf8-ranges v1.0.1
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]    Compiling gcc v0.3.54
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]    Compiling num_cpus v1.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking memchr v2.0.2
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking aho-corasick v0.6.8
[INFO] [stderr]    Compiling regex v1.0.5
[INFO] [stderr]    Compiling derive_builder v0.5.1
[INFO] [stderr]    Compiling crossbeam-deque v0.2.0
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]    Compiling serde v1.0.78
[INFO] [stderr]     Checking bit-set v0.4.0
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]     Checking untrusted v0.5.1
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]    Compiling rayon v0.8.2
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]     Checking itertools v0.7.8
[INFO] [stderr]    Compiling derive_builder_core v0.2.0
[INFO] [stderr]    Compiling syn v0.15.3
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking custom_derive v0.1.7
[INFO] [stderr]     Checking data-encoding v2.1.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking conv v0.3.3
[INFO] [stderr]     Checking clap v2.32.0
[INFO] [stderr]    Compiling ring v0.12.1
[INFO] [stderr]     Checking errno v0.2.4
[INFO] [stderr]     Checking rpassword v2.0.0
[INFO] [stderr]     Checking data-encoding v1.2.0
[INFO] [stderr]     Checking byteorder v1.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.78
[INFO] [stderr]     Checking fancy-regex v0.1.0
[INFO] [stderr]     Checking toml v0.4.6
[INFO] [stderr]     Checking zxcvbn v1.0.1
[INFO] [stderr]     Checking ring-pwhash v0.12.0
[INFO] [stderr]     Checking mpw v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library
[INFO] [stdout]  --> src/main.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from, core_intrinsics)]
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: using it is strongly discouraged
[INFO] [stdout]   = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from, core_intrinsics)]
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library
[INFO] [stdout]  --> src/main.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from, core_intrinsics)]
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: using it is strongly discouraged
[INFO] [stdout]   = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/algorithm.rs:227:24
[INFO] [stdout]     |
[INFO] [stdout] 227 |             message: e.description().into(),
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `try_from` has been stable since 1.34.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_from, core_intrinsics)]
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/algorithm.rs:227:24
[INFO] [stdout]     |
[INFO] [stdout] 227 |             message: e.description().into(),
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:495:14
[INFO] [stdout]     |
[INFO] [stdout] 495 |         let (mut nonce, mut rest) = buffer.split_at_mut(NONCE_LEN);
[INFO] [stdout]     |              ----^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:495:25
[INFO] [stdout]     |
[INFO] [stdout] 495 |         let (mut nonce, mut rest) = buffer.split_at_mut(NONCE_LEN);
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:501:18
[INFO] [stdout]     |
[INFO] [stdout] 501 |             let (mut input, _) = rest.split_at_mut(clear_text.len());
[INFO] [stdout]     |                  ----^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:513:17
[INFO] [stdout]     |
[INFO] [stdout] 513 |     let (nonce, mut in_out) = buffer.split_at_mut(NONCE_LEN);
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:526:17
[INFO] [stdout]     |
[INFO] [stdout] 526 |     let (nonce, mut in_out) = buffer.split_at_mut(NONCE_LEN);
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `message` and `kind` are never read
[INFO] [stdout]    --> src/algorithm.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub struct Error {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 207 |     // TODO: maybe rather use Cow?
[INFO] [stdout] 208 |     pub message: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 209 |     pub kind: ErrorKind,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `entropy_of_template` is never used
[INFO] [stdout]    --> src/algorithm.rs:381:4
[INFO] [stdout]     |
[INFO] [stdout] 381 | fn entropy_of_template(template: &str) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `id_for_buf` is never used
[INFO] [stdout]    --> src/algorithm.rs:401:8
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn id_for_buf(buf: &[u8]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/clear_on_drop.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Other(Errno),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Other(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ConflictingFullName` and `ConflictingStoredPasswords` are never constructed
[INFO] [stdout]   --> src/config.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum ErrorKind {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 21 |     /// Tried to merge configs for different full names.
[INFO] [stdout] 22 |     ConflictingFullName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     /// Tried to merge configs with conflicting stored passwords.
[INFO] [stdout] 24 |     ConflictingStoredPasswords,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]   --> src/config.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Error {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub kind: ErrorKind,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `merge` are never used
[INFO] [stdout]    --> src/config.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl<'a> SiteConfig<'a> {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 108 |     /// Create a new site configuration with the given domain name.
[INFO] [stdout] 109 |     pub fn new(name: &'a str) -> SiteConfig<'a> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn merge(&mut self, other: SiteConfig<'a>) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/algorithm.rs:287:16
[INFO] [stdout]     |
[INFO] [stdout] 287 |           panic!(format!("template too long for given password seed: {} >= {}",
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 288 | |                        template.len(), seed.len()));
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 287 ~         panic!("template too long for given password seed: {} >= {}",
[INFO] [stdout] 288 ~                        template.len(), seed.len());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/algorithm.rs:463:35
[INFO] [stdout]     |
[INFO] [stdout] 463 |     assert!(buf.len() >= PAD_LEN, make_message(PAD_LEN, buf.len()));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 463 |     assert!(buf.len() >= PAD_LEN, "{}", make_message(PAD_LEN, buf.len()));
[INFO] [stdout]     |                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/algorithm.rs:464:35
[INFO] [stdout]     |
[INFO] [stdout] 464 |     assert!(buf.len() >= len + 1, make_message(len + 1, buf.len()));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 464 |     assert!(buf.len() >= len + 1, "{}", make_message(len + 1, buf.len()));
[INFO] [stdout]     |                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:495:14
[INFO] [stdout]     |
[INFO] [stdout] 495 |         let (mut nonce, mut rest) = buffer.split_at_mut(NONCE_LEN);
[INFO] [stdout]     |              ----^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:495:25
[INFO] [stdout]     |
[INFO] [stdout] 495 |         let (mut nonce, mut rest) = buffer.split_at_mut(NONCE_LEN);
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:501:18
[INFO] [stdout]     |
[INFO] [stdout] 501 |             let (mut input, _) = rest.split_at_mut(clear_text.len());
[INFO] [stdout]     |                  ----^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:513:17
[INFO] [stdout]     |
[INFO] [stdout] 513 |     let (nonce, mut in_out) = buffer.split_at_mut(NONCE_LEN);
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/algorithm.rs:526:17
[INFO] [stdout]     |
[INFO] [stdout] 526 |     let (nonce, mut in_out) = buffer.split_at_mut(NONCE_LEN);
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `message` and `kind` are never read
[INFO] [stdout]    --> src/algorithm.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub struct Error {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 207 |     // TODO: maybe rather use Cow?
[INFO] [stdout] 208 |     pub message: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 209 |     pub kind: ErrorKind,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `id_for_buf` is never used
[INFO] [stdout]    --> src/algorithm.rs:401:8
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn id_for_buf(buf: &[u8]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/clear_on_drop.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Other(Errno),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Other(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ConflictingFullName` and `ConflictingStoredPasswords` are never constructed
[INFO] [stdout]   --> src/config.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum ErrorKind {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 21 |     /// Tried to merge configs for different full names.
[INFO] [stdout] 22 |     ConflictingFullName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     /// Tried to merge configs with conflicting stored passwords.
[INFO] [stdout] 24 |     ConflictingStoredPasswords,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]   --> src/config.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Error {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub kind: ErrorKind,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `merge` is never used
[INFO] [stdout]    --> src/config.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl<'a> SiteConfig<'a> {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn merge(&mut self, other: SiteConfig<'a>) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/algorithm.rs:287:16
[INFO] [stdout]     |
[INFO] [stdout] 287 |           panic!(format!("template too long for given password seed: {} >= {}",
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 288 | |                        template.len(), seed.len()));
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 287 ~         panic!("template too long for given password seed: {} >= {}",
[INFO] [stdout] 288 ~                        template.len(), seed.len());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/algorithm.rs:463:35
[INFO] [stdout]     |
[INFO] [stdout] 463 |     assert!(buf.len() >= PAD_LEN, make_message(PAD_LEN, buf.len()));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 463 |     assert!(buf.len() >= PAD_LEN, "{}", make_message(PAD_LEN, buf.len()));
[INFO] [stdout]     |                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/algorithm.rs:464:35
[INFO] [stdout]     |
[INFO] [stdout] 464 |     assert!(buf.len() >= len + 1, make_message(len + 1, buf.len()));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 464 |     assert!(buf.len() >= len + 1, "{}", make_message(len + 1, buf.len()));
[INFO] [stdout]     |                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 26.54s
[INFO] running `Command { std: "docker" "inspect" "d73916cabc89d61643068c69b168c2c7214f9c0ba3e8c12657af8aae59f54c26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d73916cabc89d61643068c69b168c2c7214f9c0ba3e8c12657af8aae59f54c26", kill_on_drop: false }`
[INFO] [stdout] d73916cabc89d61643068c69b168c2c7214f9c0ba3e8c12657af8aae59f54c26
