[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#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvks%2Fmpw-rs" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/vks/mpw-rs on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "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-3-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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded untrusted v0.5.1
[INFO] [stderr]   Downloaded custom_derive v0.1.7
[INFO] [stderr]   Downloaded derive_builder_core v0.2.0
[INFO] [stderr]   Downloaded data-encoding v2.1.1
[INFO] [stderr]   Downloaded crossbeam-epoch v0.3.1
[INFO] [stderr]   Downloaded conv v0.3.3
[INFO] [stderr]   Downloaded rayon-core v1.4.1
[INFO] [stderr]   Downloaded serde v1.0.78
[INFO] [stderr]   Downloaded rayon v0.8.2
[INFO] [stderr]   Downloaded itertools v0.7.8
[INFO] [stderr]   Downloaded ring v0.12.1
[INFO] [stderr]   Downloaded rpassword v2.0.0
[INFO] [stderr]   Downloaded fancy-regex v0.1.0
[INFO] [stderr]   Downloaded zxcvbn v1.0.1
[INFO] [stderr]   Downloaded syn v0.15.3
[INFO] [stderr]   Downloaded regex v1.0.5
[INFO] [stderr]   Downloaded serde_derive v1.0.78
[INFO] [stderr]   Downloaded gcc v0.3.54
[INFO] [stderr]   Downloaded bit-set v0.4.0
[INFO] [stderr]   Downloaded crossbeam-deque v0.2.0
[INFO] [stderr]   Downloaded data-encoding v1.2.0
[INFO] [stderr]   Downloaded toml v0.4.6
[INFO] [stderr]   Downloaded derive_builder v0.5.1
[INFO] [stderr]   Downloaded ring-pwhash v0.12.0
[INFO] [stderr]   Downloaded bit-vec v0.4.4
[INFO] [stderr]   Downloaded errno v0.2.4
[INFO] [stderr]   Downloaded errno-dragonfly v0.1.1
[INFO] [stderr]   Downloaded crossbeam-utils v0.2.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3be29a753fa6e3953b42d1215c51966b0e7e7c2fd6864abf40d80ba54b194dda
[INFO] running `Command { std: "docker" "start" "-a" "3be29a753fa6e3953b42d1215c51966b0e7e7c2fd6864abf40d80ba54b194dda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3be29a753fa6e3953b42d1215c51966b0e7e7c2fd6864abf40d80ba54b194dda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3be29a753fa6e3953b42d1215c51966b0e7e7c2fd6864abf40d80ba54b194dda", kill_on_drop: false }`
[INFO] [stdout] 3be29a753fa6e3953b42d1215c51966b0e7e7c2fd6864abf40d80ba54b194dda
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4fb24e8d6fc2c7b227b653913da1c8e838240523f08eaa2a414b294969172c1f
[INFO] running `Command { std: "docker" "start" "-a" "4fb24e8d6fc2c7b227b653913da1c8e838240523f08eaa2a414b294969172c1f", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.1.4
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]    Compiling nodrop v0.1.12
[INFO] [stderr]    Compiling cfg-if v0.1.5
[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 num_cpus v1.8.0
[INFO] [stderr]    Compiling crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling arrayvec v0.4.7
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]     Checking utf8-ranges v1.0.1
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]    Compiling gcc v0.3.54
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling regex v1.0.5
[INFO] [stderr]    Compiling derive_builder v0.5.1
[INFO] [stderr]    Compiling lazy_static v1.1.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]     Checking memchr v2.0.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking aho-corasick v0.6.8
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]    Compiling crossbeam-deque v0.2.0
[INFO] [stderr]     Checking untrusted v0.5.1
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]     Checking itertools v0.7.8
[INFO] [stderr]    Compiling syn v0.15.3
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]    Compiling rayon v0.8.2
[INFO] [stderr]    Compiling derive_builder_core v0.2.0
[INFO] [stderr]     Checking custom_derive v0.1.7
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking data-encoding v2.1.1
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking clap v2.32.0
[INFO] [stderr]    Compiling ring v0.12.1
[INFO] [stderr]     Checking conv v0.3.3
[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]     Checking fancy-regex v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.78
[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 `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 `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: 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: 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: 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]     = note: `#[warn(dead_code)]` on by default
[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] 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: 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: 15 warnings emitted
[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]     = 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] 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: 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: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [optimized + debuginfo] target(s) in 32.48s
[INFO] running `Command { std: "docker" "inspect" "4fb24e8d6fc2c7b227b653913da1c8e838240523f08eaa2a414b294969172c1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fb24e8d6fc2c7b227b653913da1c8e838240523f08eaa2a414b294969172c1f", kill_on_drop: false }`
[INFO] [stdout] 4fb24e8d6fc2c7b227b653913da1c8e838240523f08eaa2a414b294969172c1f
[INFO] checking vks/mpw-rs against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvks%2Fmpw-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/vks/mpw-rs on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "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-3-tc2/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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4aec34d942e91a39679780334d3f9f95e55f4b2400504dd46e837725a82cda7d
[INFO] running `Command { std: "docker" "start" "-a" "4aec34d942e91a39679780334d3f9f95e55f4b2400504dd46e837725a82cda7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4aec34d942e91a39679780334d3f9f95e55f4b2400504dd46e837725a82cda7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4aec34d942e91a39679780334d3f9f95e55f4b2400504dd46e837725a82cda7d", kill_on_drop: false }`
[INFO] [stdout] 4aec34d942e91a39679780334d3f9f95e55f4b2400504dd46e837725a82cda7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3ed106c06aa5f6bbcf62e33ee91f1858972961ed918622489d8d1043eedf15d2
[INFO] running `Command { std: "docker" "start" "-a" "3ed106c06aa5f6bbcf62e33ee91f1858972961ed918622489d8d1043eedf15d2", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.1.4
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]    Compiling nodrop v0.1.12
[INFO] [stderr]    Compiling cfg-if v0.1.5
[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 num_cpus v1.8.0
[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]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking utf8-ranges v1.0.1
[INFO] [stderr]    Compiling gcc v0.3.54
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling serde v1.0.78
[INFO] [stderr]    Compiling derive_builder v0.5.1
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]     Checking memchr v2.0.2
[INFO] [stderr]    Compiling regex v1.0.5
[INFO] [stderr]     Checking aho-corasick v0.6.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking bit-set v0.4.0
[INFO] [stderr]     Checking thread_local v0.3.6
[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]     Checking itertools v0.7.8
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]    Compiling crossbeam-deque v0.2.0
[INFO] [stderr]    Compiling syn v0.15.3
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]    Compiling derive_builder_core v0.2.0
[INFO] [stderr]    Compiling rayon v0.8.2
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking custom_derive v0.1.7
[INFO] [stderr]     Checking data-encoding v2.1.1
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking clap v2.32.0
[INFO] [stderr]     Checking conv v0.3.3
[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 zxcvbn v1.0.1
[INFO] [stderr]     Checking toml v0.4.6
[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 `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 `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: 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: 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: 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]     = 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] 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: 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] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Config`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SiteConfig`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SiteConfig`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mpw` (bin "mpw") due to 5 previous errors; 16 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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]     = note: `#[warn(dead_code)]` on by default
[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] 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: 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] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Config`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SiteConfig`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SiteConfig`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/config.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |     #[derive(Debug, Serialize)]
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_V` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/config.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |     #[derive(Debug, Serialize)]
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_T` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mpw` (bin "mpw" test) due to 7 previous errors; 15 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3ed106c06aa5f6bbcf62e33ee91f1858972961ed918622489d8d1043eedf15d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ed106c06aa5f6bbcf62e33ee91f1858972961ed918622489d8d1043eedf15d2", kill_on_drop: false }`
[INFO] [stdout] 3ed106c06aa5f6bbcf62e33ee91f1858972961ed918622489d8d1043eedf15d2
