[INFO] cloning repository https://github.com/Nimrodium/haprocrates
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Nimrodium/haprocrates" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNimrodium%2Fhaprocrates", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNimrodium%2Fhaprocrates'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f55a7d4baf2822f753f57afab1aebafa7b8e602
[INFO] testing Nimrodium/haprocrates against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNimrodium%2Fhaprocrates" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Nimrodium/haprocrates
[INFO] finished tweaking git repo https://github.com/Nimrodium/haprocrates
[INFO] tweaked toml for git repo https://github.com/Nimrodium/haprocrates written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Nimrodium/haprocrates on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Nimrodium/haprocrates 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" "+beta-2026-03-05" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c5ae2942e41e5190cb2e9a42cc1e367fc2b0ad6da99ce784cf6fde01ecf0b66b
[INFO] running `Command { std: "docker" "start" "-a" "c5ae2942e41e5190cb2e9a42cc1e367fc2b0ad6da99ce784cf6fde01ecf0b66b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c5ae2942e41e5190cb2e9a42cc1e367fc2b0ad6da99ce784cf6fde01ecf0b66b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5ae2942e41e5190cb2e9a42cc1e367fc2b0ad6da99ce784cf6fde01ecf0b66b", kill_on_drop: false }`
[INFO] [stdout] c5ae2942e41e5190cb2e9a42cc1e367fc2b0ad6da99ce784cf6fde01ecf0b66b
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f24cee1f03ad6a72b89df8b3e41c0e638b9e93f81a76ca418a841e9dfe36739
[INFO] running `Command { std: "docker" "start" "-a" "3f24cee1f03ad6a72b89df8b3e41c0e638b9e93f81a76ca418a841e9dfe36739", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling clap_builder v4.5.59
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling argon2 v0.5.3
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling clap v4.5.59
[INFO] [stderr]    Compiling haprocrates v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `IsTerminal`
[INFO] [stdout]  --> src/cli.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::{self, IsTerminal, Read, Write},
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `site_username_pair`
[INFO] [stdout]   --> src/cli.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | macro_rules! site_username_pair {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `master::MasterKey`
[INFO] [stdout]  --> src/crypto.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     master::MasterKey,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BASE64_STANDARD`
[INFO] [stdout]  --> src/crypto.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     prelude::{BASE64_STANDARD, BASE64_STANDARD_NO_PAD},
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64_encode`
[INFO] [stdout]  --> src/password_generator.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     crypto::{base64_encode, hash_password},
[INFO] [stdout]   |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine` and `prelude::BASE64_STANDARD`
[INFO] [stdout]  --> src/password_generator.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use base64::{Engine, prelude::BASE64_STANDARD};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/main.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let args = cli::CliArguments::parse();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnvironmentVariables` is never constructed
[INFO] [stdout]   --> src/cli.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct EnvironmentVariables {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/cli.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl EnvironmentVariables {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 105 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Storage` is never constructed
[INFO] [stdout]    --> src/cli.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct Storage {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_app_root`, `get_vault_file`, `get_master_salt_pair`, `get_master`, and `get_master_key_salt` are never used
[INFO] [stdout]    --> src/cli.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl Storage {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 135 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn find_app_root() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn get_vault_file(&self) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn get_master_salt_pair(&self, name: &str) -> (PathBuf, PathBuf) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn get_master(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn get_master_key_salt(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_SIZE` is never used
[INFO] [stdout]  --> src/constant.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const MASTER_SIZE: usize = 16;
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_SIZE` is never used
[INFO] [stdout]  --> src/constant.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const KEY_SIZE: usize = 32;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONCE_SIZE` is never used
[INFO] [stdout]  --> src/constant.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const NONCE_SIZE: usize = 12;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SALT_SIZE` is never used
[INFO] [stdout]  --> src/constant.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const SALT_SIZE: usize = 256;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VAULT_FILENAME` is never used
[INFO] [stdout]  --> src/constant.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const VAULT_FILENAME: &str = "vault.enc";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_DIRECTORY` is never used
[INFO] [stdout]  --> src/constant.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const MASTER_DIRECTORY: &str = "masters";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_EXTENSION` is never used
[INFO] [stdout]  --> src/constant.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const MASTER_EXTENSION: &str = "master";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_KEY_SALT_DIRECTORY` is never used
[INFO] [stdout]  --> src/constant.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const MASTER_KEY_SALT_DIRECTORY: &str = "master_salts";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_KEY_SALT_EXTENSION` is never used
[INFO] [stdout]   --> src/constant.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MASTER_KEY_SALT_EXTENSION: &str = "master_salt";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLICATION_NAME` is never used
[INFO] [stdout]   --> src/constant.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const APPLICATION_NAME: &str = "haprocrates";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TESTS_DIRECTORY` is never used
[INFO] [stdout]   --> src/constant.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const TESTS_DIRECTORY: &str = "tests/";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FileNonce` is never used
[INFO] [stdout]   --> src/crypto.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | type FileNonce = Nonce<aes_gcm::aead::consts::U12>;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Password` is never used
[INFO] [stdout]   --> src/crypto.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | type Password = [u8; KEY_SIZE];
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PasswordSalt` is never used
[INFO] [stdout]   --> src/crypto.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type PasswordSalt = [u8; SALT_SIZE];
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash_password` is never used
[INFO] [stdout]   --> src/crypto.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn hash_password(content: &[u8], salt: &[u8]) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_encode` is never used
[INFO] [stdout]   --> src/crypto.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn base64_encode(bytes: &[u8]) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_series` is never used
[INFO] [stdout]   --> src/crypto.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn generate_random_series(size: usize) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CryptoFileHandle` is never constructed
[INFO] [stdout]    --> src/crypto.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct CryptoFileHandle {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/crypto.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl CryptoFileHandle {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 138 |     /// create a new encrypted file
[INFO] [stdout] 139 |     pub fn create(path: &Path, password: Option<&str>) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn decrypt(path: &Path, password: Option<&str>) -> Result<(Self, Vec<u8>)> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn encrypt(self, decrypted: &[u8]) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     fn parse(file_data: Vec<u8>) -> (PasswordSalt, FileNonce, Vec<u8>) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn bundle(salt: PasswordSalt, nonce: FileNonce, encrypted: Vec<u8>) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn decrypt_data(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     fn encrypt_data(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn key(&self, salt: &PasswordSalt) -> Result<Key<Aes256Gcm>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn hash_password(plain_text: &str, salt: &PasswordSalt) -> Result<Password> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     fn new_salt() -> PasswordSalt {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn salt_from(bytes: Vec<u8>) -> PasswordSalt {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn new_nonce() -> FileNonce {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MasterKey` is never used
[INFO] [stdout]  --> src/master.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type MasterKey = [u8; MASTER_SIZE];
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_master_key` is never used
[INFO] [stdout]   --> src/master.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn open_master_key(path: &Path, password: Option<&str>) -> Result<MasterKey> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_master_key` is never used
[INFO] [stdout]   --> src/master.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn new_master_key(path: &Path, password: Option<&str>) -> Result<MasterKey> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_new_master_key` is never used
[INFO] [stdout]   --> src/master.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn generate_new_master_key() -> MasterKey {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Password` is never constructed
[INFO] [stdout]  --> src/password_generator.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Password {}
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Credentials` is never constructed
[INFO] [stdout]  --> src/password_generator.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Credentials {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `generate_password` are never used
[INFO] [stdout]   --> src/password_generator.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Credentials {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(site_name: &str, username: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn generate_password(&self, master: &MasterKey) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize` is never used
[INFO] [stdout]   --> src/password_generator.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn normalize(s: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Storage` is never constructed
[INFO] [stdout]  --> src/storage.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Storage {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_app_root`, `get_vault_file`, `get_master_salt_pair`, `get_master`, and `get_master_key_salt` are never used
[INFO] [stdout]   --> src/storage.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Storage {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn find_app_root() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn get_vault_file(&self) -> PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn get_master_salt_pair(&self, name: &str) -> (PathBuf, PathBuf) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn get_master(&self, name: &str) -> PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn get_master_key_salt(&self, name: &str) -> PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.98s
[INFO] running `Command { std: "docker" "inspect" "3f24cee1f03ad6a72b89df8b3e41c0e638b9e93f81a76ca418a841e9dfe36739", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f24cee1f03ad6a72b89df8b3e41c0e638b9e93f81a76ca418a841e9dfe36739", kill_on_drop: false }`
[INFO] [stdout] 3f24cee1f03ad6a72b89df8b3e41c0e638b9e93f81a76ca418a841e9dfe36739
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6f8b94a11259be2c888e1a3a73a90a1c8bc92830972a41e1a773ae7a305a6c89
[INFO] running `Command { std: "docker" "start" "-a" "6f8b94a11259be2c888e1a3a73a90a1c8bc92830972a41e1a773ae7a305a6c89", kill_on_drop: false }`
[INFO] [stderr]    Compiling haprocrates v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `IsTerminal`
[INFO] [stdout]  --> src/cli.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::{self, IsTerminal, Read, Write},
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `site_username_pair`
[INFO] [stdout]   --> src/cli.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | macro_rules! site_username_pair {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `master::MasterKey`
[INFO] [stdout]  --> src/crypto.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     master::MasterKey,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BASE64_STANDARD`
[INFO] [stdout]  --> src/crypto.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     prelude::{BASE64_STANDARD, BASE64_STANDARD_NO_PAD},
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64_encode`
[INFO] [stdout]  --> src/password_generator.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     crypto::{base64_encode, hash_password},
[INFO] [stdout]   |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine` and `prelude::BASE64_STANDARD`
[INFO] [stdout]  --> src/password_generator.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use base64::{Engine, prelude::BASE64_STANDARD};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/main.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let args = cli::CliArguments::parse();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnvironmentVariables` is never constructed
[INFO] [stdout]   --> src/cli.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct EnvironmentVariables {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/cli.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl EnvironmentVariables {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 105 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Storage` is never constructed
[INFO] [stdout]    --> src/cli.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct Storage {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_app_root`, `get_vault_file`, `get_master_salt_pair`, `get_master`, and `get_master_key_salt` are never used
[INFO] [stdout]    --> src/cli.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl Storage {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 135 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn find_app_root() -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn get_vault_file(&self) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn get_master_salt_pair(&self, name: &str) -> (PathBuf, PathBuf) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn get_master(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn get_master_key_salt(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VAULT_FILENAME` is never used
[INFO] [stdout]  --> src/constant.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const VAULT_FILENAME: &str = "vault.enc";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_DIRECTORY` is never used
[INFO] [stdout]  --> src/constant.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const MASTER_DIRECTORY: &str = "masters";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_EXTENSION` is never used
[INFO] [stdout]  --> src/constant.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const MASTER_EXTENSION: &str = "master";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_KEY_SALT_DIRECTORY` is never used
[INFO] [stdout]  --> src/constant.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const MASTER_KEY_SALT_DIRECTORY: &str = "master_salts";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_KEY_SALT_EXTENSION` is never used
[INFO] [stdout]   --> src/constant.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MASTER_KEY_SALT_EXTENSION: &str = "master_salt";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLICATION_NAME` is never used
[INFO] [stdout]   --> src/constant.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const APPLICATION_NAME: &str = "haprocrates";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Password` is never constructed
[INFO] [stdout]  --> src/password_generator.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Password {}
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Storage` is never constructed
[INFO] [stdout]  --> src/storage.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Storage {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_app_root`, `get_vault_file`, `get_master_salt_pair`, `get_master`, and `get_master_key_salt` are never used
[INFO] [stdout]   --> src/storage.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Storage {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 18 |     pub fn new() -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn find_app_root() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn get_vault_file(&self) -> PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn get_master_salt_pair(&self, name: &str) -> (PathBuf, PathBuf) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn get_master(&self, name: &str) -> PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn get_master_key_salt(&self, name: &str) -> PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.08s
[INFO] running `Command { std: "docker" "inspect" "6f8b94a11259be2c888e1a3a73a90a1c8bc92830972a41e1a773ae7a305a6c89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f8b94a11259be2c888e1a3a73a90a1c8bc92830972a41e1a773ae7a305a6c89", kill_on_drop: false }`
[INFO] [stdout] 6f8b94a11259be2c888e1a3a73a90a1c8bc92830972a41e1a773ae7a305a6c89
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] aee0df5031db4273cdc5e1486c8bdcd4df564190d754f07ca3aef9367705977c
[INFO] running `Command { std: "docker" "start" "-a" "aee0df5031db4273cdc5e1486c8bdcd4df564190d754f07ca3aef9367705977c", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `IsTerminal`
[INFO] [stderr]  --> src/cli.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 |     io::{self, IsTerminal, Read, Write},
[INFO] [stderr]   |                ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `site_username_pair`
[INFO] [stderr]   --> src/cli.rs:14:14
[INFO] [stderr]    |
[INFO] [stderr] 14 | macro_rules! site_username_pair {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `master::MasterKey`
[INFO] [stderr]  --> src/crypto.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     master::MasterKey,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BASE64_STANDARD`
[INFO] [stderr]  --> src/crypto.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 |     prelude::{BASE64_STANDARD, BASE64_STANDARD_NO_PAD},
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `base64_encode`
[INFO] [stderr]  --> src/password_generator.rs:2:14
[INFO] [stderr]   |
[INFO] [stderr] 2 |     crypto::{base64_encode, hash_password},
[INFO] [stderr]   |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Engine` and `prelude::BASE64_STANDARD`
[INFO] [stderr]  --> src/password_generator.rs:6:14
[INFO] [stderr]   |
[INFO] [stderr] 6 | use base64::{Engine, prelude::BASE64_STANDARD};
[INFO] [stderr]   |              ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> src/main.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let args = cli::CliArguments::parse();
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EnvironmentVariables` is never constructed
[INFO] [stderr]   --> src/cli.rs:99:12
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub struct EnvironmentVariables {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/cli.rs:105:12
[INFO] [stderr]     |
[INFO] [stderr] 104 | impl EnvironmentVariables {
[INFO] [stderr]     | ------------------------- associated function in this implementation
[INFO] [stderr] 105 |     pub fn new() -> Result<Self> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Storage` is never constructed
[INFO] [stderr]    --> src/cli.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub struct Storage {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `find_app_root`, `get_vault_file`, `get_master_salt_pair`, `get_master`, and `get_master_key_salt` are never used
[INFO] [stderr]    --> src/cli.rs:135:12
[INFO] [stderr]     |
[INFO] [stderr] 134 | impl Storage {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 135 |     pub fn new() -> Result<Self> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 156 |     fn find_app_root() -> PathBuf {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 184 |     pub fn get_vault_file(&self) -> PathBuf {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 187 |     pub fn get_master_salt_pair(&self, name: &str) -> (PathBuf, PathBuf) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 190 |     pub fn get_master(&self, name: &str) -> PathBuf {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 195 |     pub fn get_master_key_salt(&self, name: &str) -> PathBuf {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VAULT_FILENAME` is never used
[INFO] [stderr]  --> src/constant.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub const VAULT_FILENAME: &str = "vault.enc";
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASTER_DIRECTORY` is never used
[INFO] [stderr]  --> src/constant.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const MASTER_DIRECTORY: &str = "masters";
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASTER_EXTENSION` is never used
[INFO] [stderr]  --> src/constant.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const MASTER_EXTENSION: &str = "master";
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASTER_KEY_SALT_DIRECTORY` is never used
[INFO] [stderr]  --> src/constant.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const MASTER_KEY_SALT_DIRECTORY: &str = "master_salts";
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASTER_KEY_SALT_EXTENSION` is never used
[INFO] [stderr]   --> src/constant.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const MASTER_KEY_SALT_EXTENSION: &str = "master_salt";
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `APPLICATION_NAME` is never used
[INFO] [stderr]   --> src/constant.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const APPLICATION_NAME: &str = "haprocrates";
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Password` is never constructed
[INFO] [stderr]  --> src/password_generator.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct Password {}
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Storage` is never constructed
[INFO] [stderr]  --> src/storage.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct Storage {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `find_app_root`, `get_vault_file`, `get_master_salt_pair`, `get_master`, and `get_master_key_salt` are never used
[INFO] [stderr]   --> src/storage.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl Storage {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] 18 |     pub fn new() -> Result<Self> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     fn find_app_root() -> PathBuf {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn get_vault_file(&self) -> PathBuf {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub fn get_master_salt_pair(&self, name: &str) -> (PathBuf, PathBuf) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 |     pub fn get_master(&self, name: &str) -> PathBuf {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub fn get_master_key_salt(&self, name: &str) -> PathBuf {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `haprocrates` (bin "haprocrates" test) generated 20 warnings (run `cargo fix --bin "haprocrates" -p haprocrates --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/haprocrates-30ed9f8710d003bc)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test crypto::tests::test_crypto_file_handle_data_integrity ... FAILED
[INFO] [stdout] test password_generator::tests::test_password_reproducibility ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- crypto::tests::test_crypto_file_handle_data_integrity stdout ----
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: haprocrates::crypto::tests::test_crypto_file_handle_data_integrity
[INFO] [stdout]              at ./src/crypto.rs:255:9
[INFO] [stdout]    3: haprocrates::crypto::tests::test_crypto_file_handle_data_integrity::{{closure}}
[INFO] [stdout]              at ./src/crypto.rs:253:52
[INFO] [stdout]    4: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]    7: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   13: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   14: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   22: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   24: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] ---- password_generator::tests::test_password_reproducibility stdout ----
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: haprocrates::password_generator::tests::test_password_reproducibility
[INFO] [stdout]              at ./src/password_generator.rs:46:9
[INFO] [stdout]    3: haprocrates::password_generator::tests::test_password_reproducibility::{{closure}}
[INFO] [stdout]              at ./src/password_generator.rs:44:43
[INFO] [stdout]    4: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]    7: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   13: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   14: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   22: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   24: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     crypto::tests::test_crypto_file_handle_data_integrity
[INFO] [stdout]     password_generator::tests::test_password_reproducibility
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin haprocrates`
[INFO] running `Command { std: "docker" "inspect" "aee0df5031db4273cdc5e1486c8bdcd4df564190d754f07ca3aef9367705977c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aee0df5031db4273cdc5e1486c8bdcd4df564190d754f07ca3aef9367705977c", kill_on_drop: false }`
[INFO] [stdout] aee0df5031db4273cdc5e1486c8bdcd4df564190d754f07ca3aef9367705977c
