[INFO] cloning repository https://github.com/sj4nes/boxdrop
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sj4nes/boxdrop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsj4nes%2Fboxdrop", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsj4nes%2Fboxdrop'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c861b58528560bc63d8d479211656ee0a687045f
[INFO] checking sj4nes/boxdrop against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsj4nes%2Fboxdrop" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sj4nes/boxdrop
[INFO] finished tweaking git repo https://github.com/sj4nes/boxdrop
[INFO] tweaked toml for git repo https://github.com/sj4nes/boxdrop written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sj4nes/boxdrop on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sj4nes/boxdrop 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: target.x86_64-unknown-linux-musl.rustflags
[INFO] [stderr] warning: `boxdrop-sync-daemon` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2
[INFO] running `Command { std: "docker" "start" "a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: target.x86_64-unknown-linux-musl.rustflags
[INFO] [stderr] warning: `boxdrop-sync-daemon` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]     Checking anstyle-query v1.1.3
[INFO] [stderr]     Checking winnow v0.7.11
[INFO] [stderr]     Checking anstream v0.6.19
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking tokio v1.46.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking clap_lex v0.7.5
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking clap_builder v4.5.40
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking crossterm v0.25.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking tui v0.19.0
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking clap v4.5.40
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking boxdrop-sync-daemon v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tempfile::TempDir`
[INFO] [stdout]    --> src/dropbox/operations.rs:267:9
[INFO] [stdout]     |
[INFO] [stdout] 267 |     use tempfile::TempDir;
[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 import: `std::fs::File`
[INFO] [stdout]    --> src/dropbox/operations.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |     use std::fs::File;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/dropbox/operations.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |     use std::io::Write;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::TempDir`
[INFO] [stdout]    --> src/config/manager.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     use tempfile::TempDir;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error` is never read
[INFO] [stdout]   --> src/dropbox/client.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct DropboxError {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 17 |     error_summary: String,
[INFO] [stdout] 18 |     error: DropboxErrorDetail,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DropboxError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tag` and `reason` are never read
[INFO] [stdout]   --> src/dropbox/client.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct DropboxErrorDetail {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 23 |     #[serde(rename = ".tag")]
[INFO] [stdout] 24 |     tag: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 25 |     reason: Option<DropboxErrorReason>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DropboxErrorDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tag` is never read
[INFO] [stdout]   --> src/dropbox/client.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct DropboxErrorReason {
[INFO] [stdout]    |        ------------------ field in this struct
[INFO] [stdout] 30 |     #[serde(rename = ".tag")]
[INFO] [stdout] 31 |     tag: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DropboxErrorReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client` and `config` are never read
[INFO] [stdout]  --> src/sync/engine.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SyncEngine {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 6 |     client: DropboxClient,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     config: ConfigManager,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/dropbox/operations.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn download_file(&self, path: &str) -> Result<Vec<u8>>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 12 -     async fn download_file(&self, path: &str) -> Result<Vec<u8>>;
[INFO] [stdout] 12 +     fn download_file(&self, path: &str) -> impl std::future::Future<Output = Result<Vec<u8>>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/dropbox/operations.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn upload_file(&self, path: &str, content: &[u8]) -> Result<()>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn upload_file(&self, path: &str, content: &[u8]) -> Result<()>;
[INFO] [stdout] 15 +     fn upload_file(&self, path: &str, content: &[u8]) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `must_use` that must be used
[INFO] [stdout]    --> src/dropbox/operations.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         format!("{:?}", no_conflict);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let _ = format!("{:?}", no_conflict);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `must_use` that must be used
[INFO] [stdout]    --> src/dropbox/operations.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |         format!("{:?}", conflict);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let _ = format!("{:?}", conflict);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `must_use` that must be used
[INFO] [stdout]    --> src/dropbox/operations.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |         format!("{:?}", error);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let _ = format!("{:?}", error);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `access_token` is never read
[INFO] [stdout]   --> src/dropbox/client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct DropboxClient {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout]  9 |     pub(crate) client: Client,
[INFO] [stdout] 10 |     access_token: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error` is never read
[INFO] [stdout]   --> src/dropbox/client.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct DropboxError {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 17 |     error_summary: String,
[INFO] [stdout] 18 |     error: DropboxErrorDetail,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DropboxError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tag` and `reason` are never read
[INFO] [stdout]   --> src/dropbox/client.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct DropboxErrorDetail {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] 23 |     #[serde(rename = ".tag")]
[INFO] [stdout] 24 |     tag: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 25 |     reason: Option<DropboxErrorReason>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DropboxErrorDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tag` is never read
[INFO] [stdout]   --> src/dropbox/client.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct DropboxErrorReason {
[INFO] [stdout]    |        ------------------ field in this struct
[INFO] [stdout] 30 |     #[serde(rename = ".tag")]
[INFO] [stdout] 31 |     tag: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DropboxErrorReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client` and `config` are never read
[INFO] [stdout]  --> src/sync/engine.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct SyncEngine {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 6 |     client: DropboxClient,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     config: ConfigManager,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/dropbox/operations.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn download_file(&self, path: &str) -> Result<Vec<u8>>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 12 -     async fn download_file(&self, path: &str) -> Result<Vec<u8>>;
[INFO] [stdout] 12 +     fn download_file(&self, path: &str) -> impl std::future::Future<Output = Result<Vec<u8>>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/dropbox/operations.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn upload_file(&self, path: &str, content: &[u8]) -> Result<()>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn upload_file(&self, path: &str, content: &[u8]) -> Result<()>;
[INFO] [stdout] 15 +     fn upload_file(&self, path: &str, content: &[u8]) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> src/main.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         return Err(e.into());
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 26 -         return Err(e.into());
[INFO] [stdout] 26 +         return Err(e);
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 26 -         return Err(e.into());
[INFO] [stdout] 26 +         return Err(<anyhow::Error as Into<_>>::into(e));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `boxdrop-sync-daemon` (bin "boxdrop-sync-daemon") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]   --> src/main.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         return Err(e.into());
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 26 -         return Err(e.into());
[INFO] [stdout] 26 +         return Err(e);
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 26 -         return Err(e.into());
[INFO] [stdout] 26 +         return Err(<anyhow::Error as Into<_>>::into(e));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `boxdrop-sync-daemon` (bin "boxdrop-sync-daemon" test) due to 1 previous error
[INFO] [stderr] warning: unused dependency `clap`
[INFO] [stderr]   --> Cargo.toml:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 | [dependencies.clap]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `clap`
[INFO] [stderr] warning: unused dependency `crossterm`
[INFO] [stderr]  --> Cargo.toml:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | crossterm = "0.27"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `crossterm`
[INFO] [stderr] warning: unused dependency `futures`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | futures = "0.3"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `futures`
[INFO] [stderr] warning: unused dependency `inotify`
[INFO] [stderr]   --> Cargo.toml:60:1
[INFO] [stderr]    |
[INFO] [stderr] 60 | inotify = "0.10"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `inotify`
[INFO] [stderr] warning: unused dependency `notify`
[INFO] [stderr]  --> Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | notify = "6.1"
[INFO] [stderr]   | ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `notify`
[INFO] [stderr] warning: unused dependency `sha2`
[INFO] [stderr]  --> Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | sha2 = "0.10"
[INFO] [stderr]   | ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `sha2`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | thiserror = "1.0"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: unused dependency `tui`
[INFO] [stderr]   --> Cargo.toml:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | tui = "0.19"
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tui`
[INFO] [stderr] warning: `boxdrop-sync-daemon` (manifest) generated 8 warnings
[INFO] running `Command { std: "docker" "inspect" "a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2", kill_on_drop: false }`
[INFO] [stdout] a83f1714266a8c9ecf790e48eb5faede1c01f1937b52ab499fd63681e232fec2
