[INFO] fetching crate stash-rs 0.2.1...
[INFO] testing stash-rs-0.2.1 against 1.95.0 for beta-1.96-2
[INFO] extracting crate stash-rs 0.2.1 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate stash-rs 0.2.1
[INFO] finished tweaking crates.io crate stash-rs 0.2.1
[INFO] tweaked toml for crates.io crate stash-rs 0.2.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate stash-rs 0.2.1 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate stash-rs 0.2.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded console v0.16.2
[INFO] [stderr]   Downloaded zmij v1.0.0
[INFO] [stderr]   Downloaded cc v1.2.51
[INFO] [stderr]   Downloaded serde_json v1.0.148
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c69cc80acad1b14fdeb5eaa7fb9ee8aea555bcd180116e967e27708d38e66d1e
[INFO] running `Command { std: "docker" "start" "-a" "c69cc80acad1b14fdeb5eaa7fb9ee8aea555bcd180116e967e27708d38e66d1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c69cc80acad1b14fdeb5eaa7fb9ee8aea555bcd180116e967e27708d38e66d1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c69cc80acad1b14fdeb5eaa7fb9ee8aea555bcd180116e967e27708d38e66d1e", kill_on_drop: false }`
[INFO] [stdout] c69cc80acad1b14fdeb5eaa7fb9ee8aea555bcd180116e967e27708d38e66d1e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 53ac9ecc0ac0180083271bb96ce87c212ef31b73deb787c50d56dfb6cb6750f7
[INFO] running `Command { std: "docker" "start" "-a" "53ac9ecc0ac0180083271bb96ce87c212ef31b73deb787c50d56dfb6cb6750f7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling zmij v1.0.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling bzip2 v0.6.1
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tar v0.4.44
[INFO] [stderr]    Compiling jwalk v0.8.1
[INFO] [stderr]    Compiling dircpy v0.3.19
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling stash-rs v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/models/entry.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Entry {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn touch(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn age_hours(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn age_days(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn short_id(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn contains_path(&self, path: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn get_item(&self, original_path: &Path) -> Option<&Item> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn file_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn recalculate_size(&mut self) {
[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 items `new`, `matches_pattern`, and `from_path` are never used
[INFO] [stdout]   --> src/models/item.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Item {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn matches_pattern(&self, pattern: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn from_path(
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_file_hash` is never used
[INFO] [stdout]    --> src/models/item.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn calculate_file_hash(path: &Path) -> std::io::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_undoable`, `involves_entry`, and `entry_id` are never used
[INFO] [stdout]   --> src/models/operation.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Operation {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn is_undoable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn involves_entry(&self, entry_id: &Uuid) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn entry_id(&self) -> Option<Uuid> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `search`, `len`, and `is_empty` are never used
[INFO] [stdout]    --> src/models/index.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl Index {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  36 |     pub fn new(name: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn search(&self, pattern: &str) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConflictPolicy` is never used
[INFO] [stdout]  --> src/models/config.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum ConflictPolicy {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_line` is never used
[INFO] [stdout]  --> src/application/cli/prompt.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn read_line() -> io::Result<String> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_bool` is never used
[INFO] [stdout]   --> src/application/cli/prompt.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn prompt_bool(prompt: &str) -> io::Result<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_string` is never used
[INFO] [stdout]   --> src/application/cli/prompt.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn prompt_string(prompt: &str) -> io::Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_optional_string` is never used
[INFO] [stdout]   --> src/application/cli/prompt.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn prompt_optional_string(prompt: &str) -> io::Result<Option<String>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/application/features/delete.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run(identifier: &str) -> Result<()> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/application/features/peek.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run(identifier: &Option<String>, force: &bool) -> Result<()> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompressionLevel` is never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum CompressionLevel {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_bzip2`, `extension`, `gzip`, and `bzip2` are never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl CompressionLevel {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] 24 |     fn is_bzip2(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn extension(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn gzip(&self) -> GzCompression {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn bzip2(&self) -> BzCompression {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompress` is never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn decompress(input: &Path, output: &Path) -> Result<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compress` is never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn compress(source: &Path, output: &Path, level: CompressionLevel) -> Result<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompress_tar_wrapped` is never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn decompress_tar_wrapped<R, F>(input: &Path, output: &Path, wrapper: F) -> Result<PathBuf>
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompress_single` is never used
[INFO] [stdout]    --> src/services/filesystem/file_compression.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn decompress_single<R, F>(input: &Path, output: &Path, wrapper: F) -> Result<PathBuf>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compress_tar_wrapped` is never used
[INFO] [stdout]    --> src/services/filesystem/file_compression.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn compress_tar_wrapped<W, F>(source: &Path, output: &Path, level: CompressionLevel, wrapper: F) -> Result<()>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `common_root` is never used
[INFO] [stdout]    --> src/services/filesystem/file_compression.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn common_root(paths: &[PathBuf], output: &Path) -> PathBuf {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reset_to_default` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn reset_to_default(path: &Path) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_permissions` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn add_permissions(path: &Path, bits: u32) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_permissions` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn remove_permissions(path: &Path, bits: u32) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_permissions` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:99:8
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn copy_permissions(from: &Path, to: &Path) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_executable` is never used
[INFO] [stdout]    --> src/services/filesystem/permission_handler.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn make_executable(path: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_readonly` is never used
[INFO] [stdout]    --> src/services/filesystem/permission_handler.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn make_readonly(path: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_writable` is never used
[INFO] [stdout]    --> src/services/filesystem/permission_handler.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn make_writable(path: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OWNER_READ` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const OWNER_READ: u32 = 0o400;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OWNER_WRITE` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const OWNER_WRITE: u32 = 0o200;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OWNER_EXEC` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const OWNER_EXEC: u32 = 0o100;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP_READ` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const GROUP_READ: u32 = 0o040;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP_WRITE` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const GROUP_WRITE: u32 = 0o020;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP_EXEC` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const GROUP_EXEC: u32 = 0o010;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OTHERS_READ` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub const OTHERS_READ: u32 = 0o004;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OTHERS_WRITE` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub const OTHERS_WRITE: u32 = 0o002;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OTHERS_EXEC` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub const OTHERS_EXEC: u32 = 0o001;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpack_tar` is never used
[INFO] [stdout]  --> src/services/filesystem/tape_archives.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn unpack_tar(input: &Path, output: &Path) -> Result<PathBuf> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `common_root` is never used
[INFO] [stdout]   --> src/services/filesystem/tape_archives.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn common_root(paths: &[PathBuf], output: &Path) -> PathBuf {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/services/storage/config_storage.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ConfigStorage {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn get_config(&self) -> &Config {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn get_mut_config(&mut self) -> &mut Config {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn try_set_value(&mut self, key_path: &str, value: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn try_get_value<T>(&self, key_path: &str) -> Result<T, String>
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn get_value(&self, key_path: &str) -> Result<toml::Value, String> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn get_flattened_config(&self) -> HashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn reset_to_defaults(&mut self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn flatten_value(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn convert_value(&self, value: &str) -> Result<toml::Value, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/services/storage/index_storage.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl IndexStorage {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn reload(&mut self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn index(&self) -> &Index {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn index_mut(&mut self) -> &mut Index {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn get_metadata(&self, uuid: &Uuid) -> Option<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn find_by_name(&self, name: &str) -> Option<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn search(&self, pattern: &str) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn entry_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn total_size(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn index_path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn clear(&mut self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn set_name(&mut self, name: Option<String>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn contains(&self, uuid: &Uuid) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn entries_by_date(&self) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn entries_by_size(&self) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn entries_by_name(&self) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn update_entry_metadata(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `last`, `since`, `for_entry`, `clear`, and `compact` are never used
[INFO] [stdout]   --> src/services/storage/journal_storage.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl JournalStorage {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn last(&self) -> Result<Option<Operation>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn since(&self, since: DateTime<Utc>) -> Result<Vec<Operation>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn for_entry(&self, entry_id: &Uuid) -> Result<Vec<Operation>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn clear(&mut self) -> Result<()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn compact(&mut self, existing_entry_ids: &[Uuid]) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_entry`, `delete_entry`, and `find_entries_containing_path` are never used
[INFO] [stdout]    --> src/services/entry_manager.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl<'a> EntryManager<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn peek_entry(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn delete_entry(&mut self, uuid: &Uuid) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn find_entries_containing_path(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `user_dir` is never read
[INFO] [stdout]  --> src/utils/paths.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AppDirs {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 6 |     pub user_dir: PathBuf,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_bytes` is never used
[INFO] [stdout]  --> src/utils/display.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn format_bytes(bytes: u64) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.63s
[INFO] running `Command { std: "docker" "inspect" "53ac9ecc0ac0180083271bb96ce87c212ef31b73deb787c50d56dfb6cb6750f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53ac9ecc0ac0180083271bb96ce87c212ef31b73deb787c50d56dfb6cb6750f7", kill_on_drop: false }`
[INFO] [stdout] 53ac9ecc0ac0180083271bb96ce87c212ef31b73deb787c50d56dfb6cb6750f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 292b5aba5616ee69e56af36edc7c09fc1748a93a10efe0b8da587c935aaa5494
[INFO] running `Command { std: "docker" "start" "-a" "292b5aba5616ee69e56af36edc7c09fc1748a93a10efe0b8da587c935aaa5494", kill_on_drop: false }`
[INFO] [stderr]    Compiling stash-rs v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/models/entry.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Entry {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn touch(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn age_hours(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn age_days(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn short_id(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn contains_path(&self, path: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn get_item(&self, original_path: &Path) -> Option<&Item> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn file_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn recalculate_size(&mut self) {
[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 items `new`, `matches_pattern`, and `from_path` are never used
[INFO] [stdout]   --> src/models/item.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Item {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn matches_pattern(&self, pattern: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn from_path(
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_file_hash` is never used
[INFO] [stdout]    --> src/models/item.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn calculate_file_hash(path: &Path) -> std::io::Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_undoable`, `involves_entry`, and `entry_id` are never used
[INFO] [stdout]   --> src/models/operation.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Operation {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn is_undoable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn involves_entry(&self, entry_id: &Uuid) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn entry_id(&self) -> Option<Uuid> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `search`, `len`, and `is_empty` are never used
[INFO] [stdout]    --> src/models/index.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl Index {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  36 |     pub fn new(name: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn search(&self, pattern: &str) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConflictPolicy` is never used
[INFO] [stdout]  --> src/models/config.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum ConflictPolicy {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_line` is never used
[INFO] [stdout]  --> src/application/cli/prompt.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn read_line() -> io::Result<String> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_bool` is never used
[INFO] [stdout]   --> src/application/cli/prompt.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn prompt_bool(prompt: &str) -> io::Result<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_string` is never used
[INFO] [stdout]   --> src/application/cli/prompt.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn prompt_string(prompt: &str) -> io::Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_optional_string` is never used
[INFO] [stdout]   --> src/application/cli/prompt.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn prompt_optional_string(prompt: &str) -> io::Result<Option<String>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/application/features/delete.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run(identifier: &str) -> Result<()> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]  --> src/application/features/peek.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn run(identifier: &Option<String>, force: &bool) -> Result<()> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompressionLevel` is never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum CompressionLevel {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_bzip2`, `extension`, `gzip`, and `bzip2` are never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl CompressionLevel {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] 24 |     fn is_bzip2(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn extension(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn gzip(&self) -> GzCompression {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn bzip2(&self) -> BzCompression {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompress` is never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn decompress(input: &Path, output: &Path) -> Result<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compress` is never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn compress(source: &Path, output: &Path, level: CompressionLevel) -> Result<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompress_tar_wrapped` is never used
[INFO] [stdout]   --> src/services/filesystem/file_compression.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn decompress_tar_wrapped<R, F>(input: &Path, output: &Path, wrapper: F) -> Result<PathBuf>
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompress_single` is never used
[INFO] [stdout]    --> src/services/filesystem/file_compression.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn decompress_single<R, F>(input: &Path, output: &Path, wrapper: F) -> Result<PathBuf>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compress_tar_wrapped` is never used
[INFO] [stdout]    --> src/services/filesystem/file_compression.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn compress_tar_wrapped<W, F>(source: &Path, output: &Path, level: CompressionLevel, wrapper: F) -> Result<()>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `common_root` is never used
[INFO] [stdout]    --> src/services/filesystem/file_compression.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn common_root(paths: &[PathBuf], output: &Path) -> PathBuf {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reset_to_default` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn reset_to_default(path: &Path) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_permissions` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn add_permissions(path: &Path, bits: u32) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_permissions` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn remove_permissions(path: &Path, bits: u32) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_permissions` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:99:8
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn copy_permissions(from: &Path, to: &Path) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_executable` is never used
[INFO] [stdout]    --> src/services/filesystem/permission_handler.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn make_executable(path: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_readonly` is never used
[INFO] [stdout]    --> src/services/filesystem/permission_handler.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn make_readonly(path: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_writable` is never used
[INFO] [stdout]    --> src/services/filesystem/permission_handler.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn make_writable(path: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OWNER_READ` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const OWNER_READ: u32 = 0o400;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OWNER_WRITE` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const OWNER_WRITE: u32 = 0o200;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OWNER_EXEC` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const OWNER_EXEC: u32 = 0o100;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP_READ` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const GROUP_READ: u32 = 0o040;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP_WRITE` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const GROUP_WRITE: u32 = 0o020;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP_EXEC` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const GROUP_EXEC: u32 = 0o010;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OTHERS_READ` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub const OTHERS_READ: u32 = 0o004;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OTHERS_WRITE` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub const OTHERS_WRITE: u32 = 0o002;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OTHERS_EXEC` is never used
[INFO] [stdout]   --> src/services/filesystem/permission_handler.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub const OTHERS_EXEC: u32 = 0o001;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpack_tar` is never used
[INFO] [stdout]  --> src/services/filesystem/tape_archives.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn unpack_tar(input: &Path, output: &Path) -> Result<PathBuf> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `common_root` is never used
[INFO] [stdout]   --> src/services/filesystem/tape_archives.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn common_root(paths: &[PathBuf], output: &Path) -> PathBuf {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/services/storage/config_storage.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ConfigStorage {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn get_config(&self) -> &Config {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn get_mut_config(&mut self) -> &mut Config {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn try_set_value(&mut self, key_path: &str, value: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn try_get_value<T>(&self, key_path: &str) -> Result<T, String>
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn get_value(&self, key_path: &str) -> Result<toml::Value, String> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn get_flattened_config(&self) -> HashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn reset_to_defaults(&mut self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn flatten_value(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn convert_value(&self, value: &str) -> Result<toml::Value, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/services/storage/index_storage.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl IndexStorage {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn reload(&mut self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn index(&self) -> &Index {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn index_mut(&mut self) -> &mut Index {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn get_metadata(&self, uuid: &Uuid) -> Option<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn find_by_name(&self, name: &str) -> Option<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn search(&self, pattern: &str) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn entry_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn total_size(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn index_path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn clear(&mut self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn set_name(&mut self, name: Option<String>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn contains(&self, uuid: &Uuid) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn entries_by_date(&self) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn entries_by_size(&self) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn entries_by_name(&self) -> Vec<&EntryMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn update_entry_metadata(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `last`, `since`, `for_entry`, `clear`, and `compact` are never used
[INFO] [stdout]   --> src/services/storage/journal_storage.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl JournalStorage {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn last(&self) -> Result<Option<Operation>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn since(&self, since: DateTime<Utc>) -> Result<Vec<Operation>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn for_entry(&self, entry_id: &Uuid) -> Result<Vec<Operation>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn clear(&mut self) -> Result<()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn compact(&mut self, existing_entry_ids: &[Uuid]) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_entry`, `delete_entry`, and `find_entries_containing_path` are never used
[INFO] [stdout]    --> src/services/entry_manager.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl<'a> EntryManager<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn peek_entry(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn delete_entry(&mut self, uuid: &Uuid) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn find_entries_containing_path(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `user_dir` is never read
[INFO] [stdout]  --> src/utils/paths.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AppDirs {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 6 |     pub user_dir: PathBuf,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_bytes` is never used
[INFO] [stdout]  --> src/utils/display.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn format_bytes(bytes: u64) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.60s
[INFO] running `Command { std: "docker" "inspect" "292b5aba5616ee69e56af36edc7c09fc1748a93a10efe0b8da587c935aaa5494", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "292b5aba5616ee69e56af36edc7c09fc1748a93a10efe0b8da587c935aaa5494", kill_on_drop: false }`
[INFO] [stdout] 292b5aba5616ee69e56af36edc7c09fc1748a93a10efe0b8da587c935aaa5494
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3527c100b7edd0fe40434c9d03e1205381f1ac983fdec68d38ace08422581238
[INFO] running `Command { std: "docker" "start" "-a" "3527c100b7edd0fe40434c9d03e1205381f1ac983fdec68d38ace08422581238", kill_on_drop: false }`
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]   --> src/models/entry.rs:40:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl Entry {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn touch(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn age_hours(&self) -> i64 {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn age_days(&self) -> i64 {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn short_id(&self) -> String {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn contains_path(&self, path: &str) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn get_item(&self, original_path: &Path) -> Option<&Item> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub fn file_count(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub fn recalculate_size(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `matches_pattern`, and `from_path` are never used
[INFO] [stderr]   --> src/models/item.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl Item {
[INFO] [stderr]    | --------- associated items in this implementation
[INFO] [stderr] 29 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn matches_pattern(&self, pattern: &str) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn from_path(
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_file_hash` is never used
[INFO] [stderr]    --> src/models/item.rs:101:4
[INFO] [stderr]     |
[INFO] [stderr] 101 | fn calculate_file_hash(path: &Path) -> std::io::Result<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_undoable`, `involves_entry`, and `entry_id` are never used
[INFO] [stderr]   --> src/models/operation.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl Operation {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn is_undoable(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82 |     pub fn involves_entry(&self, entry_id: &Uuid) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86 |     pub fn entry_id(&self) -> Option<Uuid> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `search`, `len`, and `is_empty` are never used
[INFO] [stderr]    --> src/models/index.rs:36:12
[INFO] [stderr]     |
[INFO] [stderr]  35 | impl Index {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr]  36 |     pub fn new(name: Option<String>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  86 |     pub fn search(&self, pattern: &str) -> Vec<&EntryMetadata> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ConflictPolicy` is never used
[INFO] [stderr]  --> src/models/config.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum ConflictPolicy {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_line` is never used
[INFO] [stderr]  --> src/application/cli/prompt.rs:4:4
[INFO] [stderr]   |
[INFO] [stderr] 4 | fn read_line() -> io::Result<String> {
[INFO] [stderr]   |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `prompt_bool` is never used
[INFO] [stderr]   --> src/application/cli/prompt.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn prompt_bool(prompt: &str) -> io::Result<bool> {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `prompt_string` is never used
[INFO] [stderr]   --> src/application/cli/prompt.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn prompt_string(prompt: &str) -> io::Result<String> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `prompt_optional_string` is never used
[INFO] [stderr]   --> src/application/cli/prompt.rs:46:8
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub fn prompt_optional_string(prompt: &str) -> io::Result<Option<String>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run` is never used
[INFO] [stderr]  --> src/application/features/delete.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn run(identifier: &str) -> Result<()> {
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run` is never used
[INFO] [stderr]  --> src/application/features/peek.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn run(identifier: &Option<String>, force: &bool) -> Result<()> {
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `CompressionLevel` is never used
[INFO] [stderr]   --> src/services/filesystem/file_compression.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub enum CompressionLevel {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_bzip2`, `extension`, `gzip`, and `bzip2` are never used
[INFO] [stderr]   --> src/services/filesystem/file_compression.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl CompressionLevel {
[INFO] [stderr]    | --------------------- methods in this implementation
[INFO] [stderr] 24 |     fn is_bzip2(&self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     fn extension(&self) -> &'static str {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     fn gzip(&self) -> GzCompression {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     fn bzip2(&self) -> BzCompression {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decompress` is never used
[INFO] [stderr]   --> src/services/filesystem/file_compression.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub fn decompress(input: &Path, output: &Path) -> Result<PathBuf> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compress` is never used
[INFO] [stderr]   --> src/services/filesystem/file_compression.rs:72:8
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub fn compress(source: &Path, output: &Path, level: CompressionLevel) -> Result<PathBuf> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decompress_tar_wrapped` is never used
[INFO] [stderr]   --> src/services/filesystem/file_compression.rs:84:4
[INFO] [stderr]    |
[INFO] [stderr] 84 | fn decompress_tar_wrapped<R, F>(input: &Path, output: &Path, wrapper: F) -> Result<PathBuf>
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decompress_single` is never used
[INFO] [stderr]    --> src/services/filesystem/file_compression.rs:114:4
[INFO] [stderr]     |
[INFO] [stderr] 114 | fn decompress_single<R, F>(input: &Path, output: &Path, wrapper: F) -> Result<PathBuf>
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compress_tar_wrapped` is never used
[INFO] [stderr]    --> src/services/filesystem/file_compression.rs:131:4
[INFO] [stderr]     |
[INFO] [stderr] 131 | fn compress_tar_wrapped<W, F>(source: &Path, output: &Path, level: CompressionLevel, wrapper: F) -> Result<()>
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `common_root` is never used
[INFO] [stderr]    --> src/services/filesystem/file_compression.rs:150:4
[INFO] [stderr]     |
[INFO] [stderr] 150 | fn common_root(paths: &[PathBuf], output: &Path) -> PathBuf {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `reset_to_default` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:78:8
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub fn reset_to_default(path: &Path) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `add_permissions` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:85:8
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub fn add_permissions(path: &Path, bits: u32) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `remove_permissions` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:93:8
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub fn remove_permissions(path: &Path, bits: u32) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `copy_permissions` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:99:8
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub fn copy_permissions(from: &Path, to: &Path) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_executable` is never used
[INFO] [stderr]    --> src/services/filesystem/permission_handler.rs:106:8
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub fn make_executable(path: &Path) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_readonly` is never used
[INFO] [stderr]    --> src/services/filesystem/permission_handler.rs:117:8
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn make_readonly(path: &Path) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_writable` is never used
[INFO] [stderr]    --> src/services/filesystem/permission_handler.rs:134:8
[INFO] [stderr]     |
[INFO] [stderr] 134 | pub fn make_writable(path: &Path) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OWNER_READ` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub const OWNER_READ: u32 = 0o400;
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OWNER_WRITE` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:13:15
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub const OWNER_WRITE: u32 = 0o200;
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OWNER_EXEC` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:15:15
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub const OWNER_EXEC: u32 = 0o100;
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GROUP_READ` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub const GROUP_READ: u32 = 0o040;
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GROUP_WRITE` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:19:15
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub const GROUP_WRITE: u32 = 0o020;
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GROUP_EXEC` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:21:15
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub const GROUP_EXEC: u32 = 0o010;
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OTHERS_READ` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:23:15
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub const OTHERS_READ: u32 = 0o004;
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OTHERS_WRITE` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:25:15
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub const OTHERS_WRITE: u32 = 0o002;
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OTHERS_EXEC` is never used
[INFO] [stderr]   --> src/services/filesystem/permission_handler.rs:27:15
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub const OTHERS_EXEC: u32 = 0o001;
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `unpack_tar` is never used
[INFO] [stderr]  --> src/services/filesystem/tape_archives.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn unpack_tar(input: &Path, output: &Path) -> Result<PathBuf> {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `common_root` is never used
[INFO] [stderr]   --> src/services/filesystem/tape_archives.rs:55:4
[INFO] [stderr]    |
[INFO] [stderr] 55 | fn common_root(paths: &[PathBuf], output: &Path) -> PathBuf {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/services/storage/config_storage.rs:52:12
[INFO] [stderr]     |
[INFO] [stderr]  15 | impl ConfigStorage {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  52 |     pub fn get_config(&self) -> &Config {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  56 |     pub fn get_mut_config(&mut self) -> &mut Config {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  61 |     pub fn try_set_value(&mut self, key_path: &str, value: &str) -> Result<(), String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  95 |     pub fn try_get_value<T>(&self, key_path: &str) -> Result<T, String>
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 106 |     fn get_value(&self, key_path: &str) -> Result<toml::Value, String> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub fn get_flattened_config(&self) -> HashMap<String, String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 127 |     pub fn reset_to_defaults(&mut self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     fn flatten_value(
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     fn convert_value(&self, value: &str) -> Result<toml::Value, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/services/storage/index_storage.rs:52:12
[INFO] [stderr]     |
[INFO] [stderr]  12 | impl IndexStorage {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  52 |     pub fn reload(&mut self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  57 |     pub fn index(&self) -> &Index {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  62 |     pub fn index_mut(&mut self) -> &mut Index {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  82 |     pub fn get_metadata(&self, uuid: &Uuid) -> Option<&EntryMetadata> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  87 |     pub fn find_by_name(&self, name: &str) -> Option<&EntryMetadata> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  97 |     pub fn search(&self, pattern: &str) -> Vec<&EntryMetadata> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub fn entry_count(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub fn total_size(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub fn index_path(&self) -> &Path {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 141 |     pub fn clear(&mut self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 147 |     pub fn set_name(&mut self, name: Option<String>) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 154 |     pub fn contains(&self, uuid: &Uuid) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 159 |     pub fn entries_by_date(&self) -> Vec<&EntryMetadata> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 166 |     pub fn entries_by_size(&self) -> Vec<&EntryMetadata> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 173 |     pub fn entries_by_name(&self) -> Vec<&EntryMetadata> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 192 |     pub fn update_entry_metadata(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `last`, `since`, `for_entry`, `clear`, and `compact` are never used
[INFO] [stderr]   --> src/services/storage/journal_storage.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl JournalStorage {
[INFO] [stderr]    | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn last(&self) -> Result<Option<Operation>> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn since(&self, since: DateTime<Utc>) -> Result<Vec<Operation>> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub fn for_entry(&self, entry_id: &Uuid) -> Result<Vec<Operation>> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn clear(&mut self) -> Result<()> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 93 |     pub fn compact(&mut self, existing_entry_ids: &[Uuid]) -> Result<()> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `peek_entry`, `delete_entry`, and `find_entries_containing_path` are never used
[INFO] [stderr]    --> src/services/entry_manager.rs:209:12
[INFO] [stderr]     |
[INFO] [stderr]  32 | impl<'a> EntryManager<'a> {
[INFO] [stderr]     | ------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 209 |     pub fn peek_entry(
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 |     pub fn delete_entry(&mut self, uuid: &Uuid) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 337 |     pub fn find_entries_containing_path(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `user_dir` is never read
[INFO] [stderr]  --> src/utils/paths.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct AppDirs {
[INFO] [stderr]   |            ------- field in this struct
[INFO] [stderr] 6 |     pub user_dir: PathBuf,
[INFO] [stderr]   |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_bytes` is never used
[INFO] [stderr]  --> src/utils/display.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn format_bytes(bytes: u64) -> String {
[INFO] [stderr]   |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `stash-rs` (bin "stash-rs" test) generated 44 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/stash_rs-d1954f05ac657663)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3527c100b7edd0fe40434c9d03e1205381f1ac983fdec68d38ace08422581238", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3527c100b7edd0fe40434c9d03e1205381f1ac983fdec68d38ace08422581238", kill_on_drop: false }`
[INFO] [stdout] 3527c100b7edd0fe40434c9d03e1205381f1ac983fdec68d38ace08422581238
