[INFO] fetching crate quarkdrive-webdav 1.3.9...
[INFO] testing quarkdrive-webdav-1.3.9 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate quarkdrive-webdav 1.3.9 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate quarkdrive-webdav 1.3.9
[INFO] finished tweaking crates.io crate quarkdrive-webdav 1.3.9
[INFO] tweaked toml for crates.io crate quarkdrive-webdav 1.3.9 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate quarkdrive-webdav 1.3.9 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate quarkdrive-webdav 1.3.9 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 302123d113b9d1700732636fe6484c58a5a9e38b746c52e8bd1e76004aff2aad
[INFO] running `Command { std: "docker" "start" "-a" "302123d113b9d1700732636fe6484c58a5a9e38b746c52e8bd1e76004aff2aad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "302123d113b9d1700732636fe6484c58a5a9e38b746c52e8bd1e76004aff2aad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "302123d113b9d1700732636fe6484c58a5a9e38b746c52e8bd1e76004aff2aad", kill_on_drop: false }`
[INFO] [stdout] 302123d113b9d1700732636fe6484c58a5a9e38b746c52e8bd1e76004aff2aad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1698c3b50a59550d968575c8bec010947a6e3d5ccf53302e80627f56f1118ec
[INFO] running `Command { std: "docker" "start" "-a" "a1698c3b50a59550d968575c8bec010947a6e3d5ccf53302e80627f56f1118ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling cc v1.2.26
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling rustls v0.23.27
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling webpki-roots v1.0.0
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling headers-core v0.3.0
[INFO] [stderr]    Compiling moka v0.12.10
[INFO] [stderr]    Compiling xml-rs v0.8.26
[INFO] [stderr]    Compiling headers v0.4.1
[INFO] [stderr]    Compiling async-lock v3.4.0
[INFO] [stderr]    Compiling syn v2.0.102
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling terminal_size v0.4.2
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling xmltree v0.11.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling dyn-clone v1.0.19
[INFO] [stderr]    Compiling htmlescape v0.3.1
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling dashmap v7.0.0-rc2
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling retry-policies v0.4.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.29
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling rustls-webpki v0.103.3
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling signal-hook-tokio v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.10
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.14
[INFO] [stderr]    Compiling dav-server v0.8.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.20
[INFO] [stderr]    Compiling reqwest-middleware v0.4.2
[INFO] [stderr]    Compiling reqwest-retry v0.7.0
[INFO] [stderr]    Compiling quarkdrive-webdav v1.3.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `alphabet` and `self`
[INFO] [stdout]   --> src/drive/mod.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 | use base64::{Engine as _, engine::{self, general_purpose}, alphabet};
[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: `headers::Cookie`
[INFO] [stdout]   --> src/drive/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use headers::Cookie;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local_upload_hash`
[INFO] [stdout]    --> src/vfs.rs:210:19
[INFO] [stdout]     |
[INFO] [stdout] 210 |             #[cfg(feature = "local_upload_hash")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `rustls-pemfile`
[INFO] [stdout]     = help: consider adding `local_upload_hash` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/webdav.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | /         loop {
[INFO] [stdout] 50 | |             let (tcp, _) = listener.accept().await?;
[INFO] [stdout] 51 | |             let io = TokioIo::new(tcp);
[INFO] [stdout] 52 | |             let make_svc = make_svc.clone();
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |             });
[INFO] [stdout] 67 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 70 |           Ok(())
[INFO] [stdout]    |           ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trash`
[INFO] [stdout]    --> src/drive/mod.rs:429:52
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub async fn remove_file(&self, file_id: &str, trash: bool) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_trash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_dav`
[INFO] [stdout]    --> src/vfs.rs:498:27
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn copy<'a>(&'a self, from_dav: &'a DavPath, to_dav: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_dav`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_dav`
[INFO] [stdout]    --> src/vfs.rs:498:50
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn copy<'a>(&'a self, from_dav: &'a DavPath, to_dav: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_dav`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetFileItem` is never constructed
[INFO] [stdout]   --> src/drive/model.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct GetFileItem {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `finish` are never read
[INFO] [stdout]    --> src/drive/model.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub struct DeleteFilesData {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 221 |     pub task_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 222 |     pub finish: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeleteFilesData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tq_gap` is never read
[INFO] [stdout]    --> src/drive/model.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct DeleteFilesMetadata {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 227 |     pub tq_gap: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeleteFilesMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `finish` and `fid` are never read
[INFO] [stdout]    --> src/drive/model.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct CreateFolderData {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 233 |     pub finish: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 234 |     pub fid: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFolderData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetSpaceInfoResponseMetaData` is never constructed
[INFO] [stdout]    --> src/drive/model.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub struct GetSpaceInfoResponseMetaData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chunk` and `sha1` are never read
[INFO] [stdout]    --> src/vfs.rs:597:5
[INFO] [stdout]     |
[INFO] [stdout] 592 | struct UploadState {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 597 |     chunk: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 600 |     sha1: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UploadState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `upload_mini_byte_file` and `upload_chunk` are never used
[INFO] [stdout]     --> src/vfs.rs:949:14
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl QuarkDavFile {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  949 |     async fn upload_mini_byte_file(&mut self) -> Result<(), FsError> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1106 |     async fn upload_chunk(&mut self) -> Result<(), FsError> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tls_config` is never read
[INFO] [stdout]   --> src/webdav.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WebDavServer {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub tls_config: Option<(PathBuf, PathBuf)>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/drive/mod.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn metadata(&self) -> FsFuture<Box<dyn DavMetaData>> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn metadata(&self) -> FsFuture<'_, Box<dyn DavMetaData>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/vfs.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn get_prop(&self, dav_path: &DavPath, prop: dav_server::fs::DavProp) -> FsFuture<Vec<u8>> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here                            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn get_prop(&self, dav_path: &DavPath, prop: dav_server::fs::DavProp) -> FsFuture<'_, Vec<u8>> {
[INFO] [stdout]     |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/vfs.rs:383:18
[INFO] [stdout]     |
[INFO] [stdout] 383 |     fn get_quota(&self) -> FsFuture<(u64, Option<u64>)> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 383 |     fn get_quota(&self) -> FsFuture<'_, (u64, Option<u64>)> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1249:21
[INFO] [stdout]      |
[INFO] [stdout] 1249 |     fn redirect_url(&mut self) -> FsFuture<Option<String>> {
[INFO] [stdout]      |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1249 |     fn redirect_url(&mut self) -> FsFuture<'_, Option<String>> {
[INFO] [stdout]      |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1265:13
[INFO] [stdout]      |
[INFO] [stdout] 1265 |     fn seek(&mut self, pos: SeekFrom) -> FsFuture<u64> {
[INFO] [stdout]      |             ^^^^^^^^^                    ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |             |
[INFO] [stdout]      |             the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1265 |     fn seek(&mut self, pos: SeekFrom) -> FsFuture<'_, u64> {
[INFO] [stdout]      |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1285:18
[INFO] [stdout]      |
[INFO] [stdout] 1285 |     fn write_buf(&mut self, buf: Box<dyn bytes::Buf + Send>) -> FsFuture<()>{
[INFO] [stdout]      |                  ^^^^^^^^^ the lifetime is elided here          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1285 |     fn write_buf(&mut self, buf: Box<dyn bytes::Buf + Send>) -> FsFuture<'_, ()>{
[INFO] [stdout]      |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1298:20
[INFO] [stdout]      |
[INFO] [stdout] 1298 |     fn write_bytes(&mut self, buf: bytes::Bytes) -> FsFuture<()> {
[INFO] [stdout]      |                    ^^^^^^^^^                        ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1298 |     fn write_bytes(&mut self, buf: bytes::Bytes) -> FsFuture<'_, ()> {
[INFO] [stdout]      |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1303:19
[INFO] [stdout]      |
[INFO] [stdout] 1303 |     fn read_bytes(&mut self, count: usize) -> FsFuture<Bytes> {
[INFO] [stdout]      |                   ^^^^^^^^^                   ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1303 |     fn read_bytes(&mut self, count: usize) -> FsFuture<'_, Bytes> {
[INFO] [stdout]      |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1349:14
[INFO] [stdout]      |
[INFO] [stdout] 1349 |     fn flush(&mut self) -> FsFuture<()> {
[INFO] [stdout]      |              ^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |              |
[INFO] [stdout]      |              the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1349 |     fn flush(&mut self) -> FsFuture<'_, ()> {
[INFO] [stdout]      |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.26s
[INFO] running `Command { std: "docker" "inspect" "a1698c3b50a59550d968575c8bec010947a6e3d5ccf53302e80627f56f1118ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1698c3b50a59550d968575c8bec010947a6e3d5ccf53302e80627f56f1118ec", kill_on_drop: false }`
[INFO] [stdout] a1698c3b50a59550d968575c8bec010947a6e3d5ccf53302e80627f56f1118ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6852d9cf90384d9c440733b6d422269d3e69c327f7dc563a5e76695170458952
[INFO] running `Command { std: "docker" "start" "-a" "6852d9cf90384d9c440733b6d422269d3e69c327f7dc563a5e76695170458952", kill_on_drop: false }`
[INFO] [stderr]    Compiling quarkdrive-webdav v1.3.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `alphabet` and `self`
[INFO] [stdout]   --> src/drive/mod.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 | use base64::{Engine as _, engine::{self, general_purpose}, alphabet};
[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: `headers::Cookie`
[INFO] [stdout]   --> src/drive/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use headers::Cookie;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local_upload_hash`
[INFO] [stdout]    --> src/vfs.rs:210:19
[INFO] [stdout]     |
[INFO] [stdout] 210 |             #[cfg(feature = "local_upload_hash")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `rustls-pemfile`
[INFO] [stdout]     = help: consider adding `local_upload_hash` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/webdav.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | /         loop {
[INFO] [stdout] 50 | |             let (tcp, _) = listener.accept().await?;
[INFO] [stdout] 51 | |             let io = TokioIo::new(tcp);
[INFO] [stdout] 52 | |             let make_svc = make_svc.clone();
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |             });
[INFO] [stdout] 67 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 70 |           Ok(())
[INFO] [stdout]    |           ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trash`
[INFO] [stdout]    --> src/drive/mod.rs:429:52
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub async fn remove_file(&self, file_id: &str, trash: bool) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_trash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fid`
[INFO] [stdout]     --> src/drive/mod.rs:1517:13
[INFO] [stdout]      |
[INFO] [stdout] 1517 |         let fid = files.as_ref().unwrap().list.iter()
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_fid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_dav`
[INFO] [stdout]    --> src/vfs.rs:498:27
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn copy<'a>(&'a self, from_dav: &'a DavPath, to_dav: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_dav`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_dav`
[INFO] [stdout]    --> src/vfs.rs:498:50
[INFO] [stdout]     |
[INFO] [stdout] 498 |     fn copy<'a>(&'a self, from_dav: &'a DavPath, to_dav: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_dav`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetFileItem` is never constructed
[INFO] [stdout]   --> src/drive/model.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct GetFileItem {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_id` and `finish` are never read
[INFO] [stdout]    --> src/drive/model.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub struct DeleteFilesData {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 221 |     pub task_id: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 222 |     pub finish: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeleteFilesData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tq_gap` is never read
[INFO] [stdout]    --> src/drive/model.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct DeleteFilesMetadata {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 227 |     pub tq_gap: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeleteFilesMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `finish` and `fid` are never read
[INFO] [stdout]    --> src/drive/model.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct CreateFolderData {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 233 |     pub finish: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 234 |     pub fid: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFolderData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetSpaceInfoResponseMetaData` is never constructed
[INFO] [stdout]    --> src/drive/model.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub struct GetSpaceInfoResponseMetaData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chunk` and `sha1` are never read
[INFO] [stdout]    --> src/vfs.rs:597:5
[INFO] [stdout]     |
[INFO] [stdout] 592 | struct UploadState {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 597 |     chunk: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 600 |     sha1: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UploadState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `upload_mini_byte_file` and `upload_chunk` are never used
[INFO] [stdout]     --> src/vfs.rs:949:14
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl QuarkDavFile {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  949 |     async fn upload_mini_byte_file(&mut self) -> Result<(), FsError> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1106 |     async fn upload_chunk(&mut self) -> Result<(), FsError> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tls_config` is never read
[INFO] [stdout]   --> src/webdav.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WebDavServer {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub tls_config: Option<(PathBuf, PathBuf)>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/drive/mod.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn metadata(&self) -> FsFuture<Box<dyn DavMetaData>> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn metadata(&self) -> FsFuture<'_, Box<dyn DavMetaData>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/vfs.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn get_prop(&self, dav_path: &DavPath, prop: dav_server::fs::DavProp) -> FsFuture<Vec<u8>> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here                            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn get_prop(&self, dav_path: &DavPath, prop: dav_server::fs::DavProp) -> FsFuture<'_, Vec<u8>> {
[INFO] [stdout]     |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/vfs.rs:383:18
[INFO] [stdout]     |
[INFO] [stdout] 383 |     fn get_quota(&self) -> FsFuture<(u64, Option<u64>)> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 383 |     fn get_quota(&self) -> FsFuture<'_, (u64, Option<u64>)> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1249:21
[INFO] [stdout]      |
[INFO] [stdout] 1249 |     fn redirect_url(&mut self) -> FsFuture<Option<String>> {
[INFO] [stdout]      |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1249 |     fn redirect_url(&mut self) -> FsFuture<'_, Option<String>> {
[INFO] [stdout]      |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1265:13
[INFO] [stdout]      |
[INFO] [stdout] 1265 |     fn seek(&mut self, pos: SeekFrom) -> FsFuture<u64> {
[INFO] [stdout]      |             ^^^^^^^^^                    ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |             |
[INFO] [stdout]      |             the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1265 |     fn seek(&mut self, pos: SeekFrom) -> FsFuture<'_, u64> {
[INFO] [stdout]      |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1285:18
[INFO] [stdout]      |
[INFO] [stdout] 1285 |     fn write_buf(&mut self, buf: Box<dyn bytes::Buf + Send>) -> FsFuture<()>{
[INFO] [stdout]      |                  ^^^^^^^^^ the lifetime is elided here          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1285 |     fn write_buf(&mut self, buf: Box<dyn bytes::Buf + Send>) -> FsFuture<'_, ()>{
[INFO] [stdout]      |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1298:20
[INFO] [stdout]      |
[INFO] [stdout] 1298 |     fn write_bytes(&mut self, buf: bytes::Bytes) -> FsFuture<()> {
[INFO] [stdout]      |                    ^^^^^^^^^                        ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1298 |     fn write_bytes(&mut self, buf: bytes::Bytes) -> FsFuture<'_, ()> {
[INFO] [stdout]      |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1303:19
[INFO] [stdout]      |
[INFO] [stdout] 1303 |     fn read_bytes(&mut self, count: usize) -> FsFuture<Bytes> {
[INFO] [stdout]      |                   ^^^^^^^^^                   ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1303 |     fn read_bytes(&mut self, count: usize) -> FsFuture<'_, Bytes> {
[INFO] [stdout]      |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/vfs.rs:1349:14
[INFO] [stdout]      |
[INFO] [stdout] 1349 |     fn flush(&mut self) -> FsFuture<()> {
[INFO] [stdout]      |              ^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |              |
[INFO] [stdout]      |              the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1349 |     fn flush(&mut self) -> FsFuture<'_, ()> {
[INFO] [stdout]      |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.98s
[INFO] running `Command { std: "docker" "inspect" "6852d9cf90384d9c440733b6d422269d3e69c327f7dc563a5e76695170458952", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6852d9cf90384d9c440733b6d422269d3e69c327f7dc563a5e76695170458952", kill_on_drop: false }`
[INFO] [stdout] 6852d9cf90384d9c440733b6d422269d3e69c327f7dc563a5e76695170458952
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dafcbd9d0065b7aaa94d19202aedfa6afb0e020d49010959e216eaab085d4e81
[INFO] running `Command { std: "docker" "start" "-a" "dafcbd9d0065b7aaa94d19202aedfa6afb0e020d49010959e216eaab085d4e81", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `alphabet` and `self`
[INFO] [stderr]   --> src/drive/mod.rs:16:36
[INFO] [stderr]    |
[INFO] [stderr] 16 | use base64::{Engine as _, engine::{self, general_purpose}, alphabet};
[INFO] [stderr]    |                                    ^^^^                    ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `headers::Cookie`
[INFO] [stderr]   --> src/drive/mod.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | use headers::Cookie;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `local_upload_hash`
[INFO] [stderr]    --> src/vfs.rs:210:19
[INFO] [stderr]     |
[INFO] [stderr] 210 |             #[cfg(feature = "local_upload_hash")]
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `rustls-pemfile`
[INFO] [stderr]     = help: consider adding `local_upload_hash` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]   --> src/webdav.rs:70:9
[INFO] [stderr]    |
[INFO] [stderr] 49 | /         loop {
[INFO] [stderr] 50 | |             let (tcp, _) = listener.accept().await?;
[INFO] [stderr] 51 | |             let io = TokioIo::new(tcp);
[INFO] [stderr] 52 | |             let make_svc = make_svc.clone();
[INFO] [stderr] ...  |
[INFO] [stderr] 66 | |             });
[INFO] [stderr] 67 | |         }
[INFO] [stderr]    | |_________- any code following this expression is unreachable
[INFO] [stderr] ...
[INFO] [stderr] 70 |           Ok(())
[INFO] [stderr]    |           ^^^^^^ unreachable expression
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `trash`
[INFO] [stderr]    --> src/drive/mod.rs:429:52
[INFO] [stderr]     |
[INFO] [stderr] 429 |     pub async fn remove_file(&self, file_id: &str, trash: bool) -> Result<()> {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_trash`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fid`
[INFO] [stderr]     --> src/drive/mod.rs:1517:13
[INFO] [stderr]      |
[INFO] [stderr] 1517 |         let fid = files.as_ref().unwrap().list.iter()
[INFO] [stderr]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_fid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `from_dav`
[INFO] [stderr]    --> src/vfs.rs:498:27
[INFO] [stderr]     |
[INFO] [stderr] 498 |     fn copy<'a>(&'a self, from_dav: &'a DavPath, to_dav: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stderr]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_dav`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `to_dav`
[INFO] [stderr]    --> src/vfs.rs:498:50
[INFO] [stderr]     |
[INFO] [stderr] 498 |     fn copy<'a>(&'a self, from_dav: &'a DavPath, to_dav: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stderr]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_dav`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GetFileItem` is never constructed
[INFO] [stderr]   --> src/drive/model.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub struct GetFileItem {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `task_id` and `finish` are never read
[INFO] [stderr]    --> src/drive/model.rs:221:9
[INFO] [stderr]     |
[INFO] [stderr] 220 | pub struct DeleteFilesData {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] 221 |     pub task_id: String,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 222 |     pub finish: bool,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DeleteFilesData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `tq_gap` is never read
[INFO] [stderr]    --> src/drive/model.rs:227:9
[INFO] [stderr]     |
[INFO] [stderr] 226 | pub struct DeleteFilesMetadata {
[INFO] [stderr]     |            ------------------- field in this struct
[INFO] [stderr] 227 |     pub tq_gap: u32,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DeleteFilesMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `finish` and `fid` are never read
[INFO] [stderr]    --> src/drive/model.rs:233:9
[INFO] [stderr]     |
[INFO] [stderr] 232 | pub struct CreateFolderData {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 233 |     pub finish: bool,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 234 |     pub fid: String,
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CreateFolderData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GetSpaceInfoResponseMetaData` is never constructed
[INFO] [stderr]    --> src/drive/model.rs:273:12
[INFO] [stderr]     |
[INFO] [stderr] 273 | pub struct GetSpaceInfoResponseMetaData {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `chunk` and `sha1` are never read
[INFO] [stderr]    --> src/vfs.rs:597:5
[INFO] [stderr]     |
[INFO] [stderr] 592 | struct UploadState {
[INFO] [stderr]     |        ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 597 |     chunk: u64,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 600 |     sha1: Option<String>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `UploadState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `upload_mini_byte_file` and `upload_chunk` are never used
[INFO] [stderr]     --> src/vfs.rs:949:14
[INFO] [stderr]      |
[INFO] [stderr]  662 | impl QuarkDavFile {
[INFO] [stderr]      | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  949 |     async fn upload_mini_byte_file(&mut self) -> Result<(), FsError> {
[INFO] [stderr]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1106 |     async fn upload_chunk(&mut self) -> Result<(), FsError> {
[INFO] [stderr]      |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `tls_config` is never read
[INFO] [stderr]   --> src/webdav.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct WebDavServer {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub tls_config: Option<(PathBuf, PathBuf)>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/drive/mod.rs:78:17
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn metadata(&self) -> FsFuture<Box<dyn DavMetaData>> {
[INFO] [stderr]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn metadata(&self) -> FsFuture<'_, Box<dyn DavMetaData>> {
[INFO] [stderr]    |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/vfs.rs:354:17
[INFO] [stderr]     |
[INFO] [stderr] 354 |     fn get_prop(&self, dav_path: &DavPath, prop: dav_server::fs::DavProp) -> FsFuture<Vec<u8>> {
[INFO] [stderr]     |                 ^^^^^ the lifetime is elided here                            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 354 |     fn get_prop(&self, dav_path: &DavPath, prop: dav_server::fs::DavProp) -> FsFuture<'_, Vec<u8>> {
[INFO] [stderr]     |                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/vfs.rs:383:18
[INFO] [stderr]     |
[INFO] [stderr] 383 |     fn get_quota(&self) -> FsFuture<(u64, Option<u64>)> {
[INFO] [stderr]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 383 |     fn get_quota(&self) -> FsFuture<'_, (u64, Option<u64>)> {
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/vfs.rs:1249:21
[INFO] [stderr]      |
[INFO] [stderr] 1249 |     fn redirect_url(&mut self) -> FsFuture<Option<String>> {
[INFO] [stderr]      |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                     |
[INFO] [stderr]      |                     the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1249 |     fn redirect_url(&mut self) -> FsFuture<'_, Option<String>> {
[INFO] [stderr]      |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/vfs.rs:1265:13
[INFO] [stderr]      |
[INFO] [stderr] 1265 |     fn seek(&mut self, pos: SeekFrom) -> FsFuture<u64> {
[INFO] [stderr]      |             ^^^^^^^^^                    ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |             |
[INFO] [stderr]      |             the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1265 |     fn seek(&mut self, pos: SeekFrom) -> FsFuture<'_, u64> {
[INFO] [stderr]      |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/vfs.rs:1285:18
[INFO] [stderr]      |
[INFO] [stderr] 1285 |     fn write_buf(&mut self, buf: Box<dyn bytes::Buf + Send>) -> FsFuture<()>{
[INFO] [stderr]      |                  ^^^^^^^^^ the lifetime is elided here          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1285 |     fn write_buf(&mut self, buf: Box<dyn bytes::Buf + Send>) -> FsFuture<'_, ()>{
[INFO] [stderr]      |                                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/vfs.rs:1298:20
[INFO] [stderr]      |
[INFO] [stderr] 1298 |     fn write_bytes(&mut self, buf: bytes::Bytes) -> FsFuture<()> {
[INFO] [stderr]      |                    ^^^^^^^^^                        ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                    |
[INFO] [stderr]      |                    the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1298 |     fn write_bytes(&mut self, buf: bytes::Bytes) -> FsFuture<'_, ()> {
[INFO] [stderr]      |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/vfs.rs:1303:19
[INFO] [stderr]      |
[INFO] [stderr] 1303 |     fn read_bytes(&mut self, count: usize) -> FsFuture<Bytes> {
[INFO] [stderr]      |                   ^^^^^^^^^                   ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                   |
[INFO] [stderr]      |                   the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1303 |     fn read_bytes(&mut self, count: usize) -> FsFuture<'_, Bytes> {
[INFO] [stderr]      |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/vfs.rs:1349:14
[INFO] [stderr]      |
[INFO] [stderr] 1349 |     fn flush(&mut self) -> FsFuture<()> {
[INFO] [stderr]      |              ^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |              |
[INFO] [stderr]      |              the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1349 |     fn flush(&mut self) -> FsFuture<'_, ()> {
[INFO] [stderr]      |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: `quarkdrive-webdav` (bin "quarkdrive-webdav" test) generated 25 warnings (run `cargo fix --bin "quarkdrive-webdav" -p quarkdrive-webdav --tests` to apply 15 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/quarkdrive_webdav-d020464ad4717a94)
[INFO] [stdout] 
[INFO] [stdout] running 101 tests
[INFO] [stdout] test drive::model::tests::test_callback_serialize_camel_case ... ok
[INFO] [stdout] test drive::model::tests::test_callback_deserialize_camel_case ... ok
[INFO] [stdout] test drive::model::tests::test_callback_roundtrip ... ok
[INFO] [stdout] test drive::model::tests::test_file_download_url_item_with_md5 ... ok
[INFO] [stdout] test drive::model::tests::test_file_download_url_item_null_md5 ... ok
[INFO] [stdout] test drive::model::tests::test_file_download_url_item_without_md5 ... ok
[INFO] [stdout] test drive::model::tests::test_files_metadata_deserialize ... ok
[INFO] [stdout] test drive::model::tests::test_get_files_download_urls_response_into_map_empty ... ok
[INFO] [stdout] test drive::model::tests::test_get_files_download_urls_response_into_map ... ok
[INFO] [stdout] test drive::model::tests::test_quark_file_deserialize_basic ... ok
[INFO] [stdout] test drive::model::tests::test_quark_file_deserialize_html_entity ... ok
[INFO] [stdout] test drive::model::tests::test_quark_file_deserialize_size_default ... ok
[INFO] [stdout] test drive::model::tests::test_quark_file_deserialize_with_optional_fields ... ok
[INFO] [stdout] test drive::model::tests::test_quark_file_new_root ... ok
[INFO] [stdout] test drive::model::tests::test_quark_files_from_response ... ok
[INFO] [stdout] test drive::model::tests::test_response_error_status ... ok
[INFO] [stdout] test drive::model::tests::test_response_structure_deserialize ... ok
[INFO] [stdout] test drive::model::tests::test_space_info_deserialize ... ok
[INFO] [stdout] test drive::tests::test_create_and_remove_folder ... ignored
[INFO] [stdout] test drive::tests::test_download_file_full ... ignored
[INFO] [stdout] test drive::tests::test_download_file_range ... ignored
[INFO] [stdout] test drive::tests::test_download_url_caches_md5 ... ignored
[INFO] [stdout] test drive::model::tests::test_up_hash_response_finish_false ... ok
[INFO] [stdout] test drive::tests::test_get_download_urls ... ignored
[INFO] [stdout] test drive::tests::test_get_file_md5 ... ignored
[INFO] [stdout] test drive::tests::test_get_files_by_pdir_fid ... ignored
[INFO] [stdout] test drive::model::tests::test_up_hash_response_finish_true ... ok
[INFO] [stdout] test drive::tests::test_get_format_type_archive ... ok
[INFO] [stdout] test drive::tests::test_get_format_type_audio ... ok
[INFO] [stdout] test drive::tests::test_get_format_type_document ... ok
[INFO] [stdout] test drive::tests::test_get_format_type_image ... ok
[INFO] [stdout] test drive::tests::test_get_quota ... ignored
[INFO] [stdout] test drive::tests::test_list_nonexistent_dir ... ignored
[INFO] [stdout] test drive::tests::test_list_root_files ... ignored
[INFO] [stdout] test drive::tests::test_move_file ... ignored
[INFO] [stdout] test drive::tests::test_rename_file ... ignored
[INFO] [stdout] test drive::tests::test_get_format_type_unknown ... ok
[INFO] [stdout] test drive::tests::test_get_format_type_video ... ok
[INFO] [stdout] test drive::tests::test_upload_folder_duplicate_prevention ... ignored
[INFO] [stdout] test drive::tests::test_upload_pre_and_hash ... ignored
[INFO] [stdout] test drive::tests::test_upload_sha_match_skip ... ignored
[INFO] [stdout] test drive::tests::test_upload_sha_mismatch_delete_and_recreate ... ignored
[INFO] [stdout] test vfs::tests::test_is_url_expired_empty_string ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_beyond_60s_buffer ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_invalid_url ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_exactly_at_boundary ... ok
[INFO] [stdout] test drive::tests::test_md5_cache_hit ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_no_expires_param ... ok
[INFO] [stdout] test drive::tests::test_up_part_auth_meta_format ... ok
[INFO] [stdout] test drive::tests::test_md5_cache_shared_across_clones ... ok
[INFO] [stdout] test drive::tests::test_md5_cache_miss ... ok
[INFO] [stdout] test drive::tests::test_up_commit_auth_meta_format ... ok
[INFO] [stdout] test drive::tests::test_md5_cache_overwrite ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_with_multiple_params ... ok
[INFO] [stdout] test drive::tests::test_up_commit_auth_meta_single_part ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_non_numeric_expires ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_with_past_timestamp ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_within_60s_buffer ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_simple_file ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_custom_root_and_prefix ... ok
[INFO] [stdout] test vfs::tests::test_is_url_expired_with_future_timestamp ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_percent_encoded ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_nested ... ok
[INFO] [stdout] test webdav::tests::test_file_icon_image ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_root ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_strip_prefix_root ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_with_custom_root ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_with_strip_prefix ... ok
[INFO] [stdout] test webdav::tests::test_digest_hex_md5_hello_world ... ok
[INFO] [stdout] test webdav::tests::test_digest_hex_md5_to_base64 ... ok
[INFO] [stdout] test webdav::tests::test_file_icon_archive ... ok
[INFO] [stdout] test webdav::tests::test_digest_header_format ... ok
[INFO] [stdout] test webdav::tests::test_file_icon_audio ... ok
[INFO] [stdout] test webdav::tests::test_file_icon_code ... ok
[INFO] [stdout] test webdav::tests::test_digest_fallback_already_base64 ... ok
[INFO] [stdout] test webdav::tests::test_file_icon_document ... ok
[INFO] [stdout] test webdav::tests::test_file_icon_unknown ... ok
[INFO] [stdout] test webdav::tests::test_file_icon_video ... ok
[INFO] [stdout] test webdav::tests::test_format_size_bytes ... ok
[INFO] [stdout] test webdav::tests::test_format_size_gb ... ok
[INFO] [stdout] test webdav::tests::test_compute_fs_path_trailing_slash ... ok
[INFO] [stdout] test webdav::tests::test_format_size_kb ... ok
[INFO] [stdout] test webdav::tests::test_format_size_tb ... ok
[INFO] [stdout] test webdav::tests::test_format_size_mb ... ok
[INFO] [stdout] test webdav::tests::test_format_timestamp_normal ... ok
[INFO] [stdout] test webdav::tests::test_format_timestamp_zero ... ok
[INFO] [stdout] test webdav::tests::test_html_escape_all_entities ... ok
[INFO] [stdout] test webdav::tests::test_html_escape_empty ... ok
[INFO] [stdout] test webdav::tests::test_html_escape_mixed ... ok
[INFO] [stdout] test webdav::tests::test_html_escape_no_special ... ok
[INFO] [stdout] test webdav::tests::test_percent_decode_empty ... ok
[INFO] [stdout] test webdav::tests::test_percent_encode_path_special_chars ... ok
[INFO] [stdout] test webdav::tests::test_percent_encode_path_chinese ... ok
[INFO] [stdout] test webdav::tests::test_render_directory_html_root_empty ... ok
[INFO] [stdout] test webdav::tests::test_percent_encode_roundtrip ... ok
[INFO] [stdout] test webdav::tests::test_render_directory_html_sorting ... ok
[INFO] [stdout] test webdav::tests::test_want_digest_contains_md5 ... ok
[INFO] [stdout] test webdav::tests::test_want_digest_contains_md5_mixed_case ... ok
[INFO] [stdout] test webdav::tests::test_render_directory_html_with_files ... ok
[INFO] [stdout] test webdav::tests::test_want_digest_logic ... ok
[INFO] [stdout] test webdav::tests::test_want_digest_no_md5 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 85 passed; 0 failed; 16 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dafcbd9d0065b7aaa94d19202aedfa6afb0e020d49010959e216eaab085d4e81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dafcbd9d0065b7aaa94d19202aedfa6afb0e020d49010959e216eaab085d4e81", kill_on_drop: false }`
[INFO] [stdout] dafcbd9d0065b7aaa94d19202aedfa6afb0e020d49010959e216eaab085d4e81
