[INFO] cloning repository https://github.com/wshon/aliyun-drive
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wshon/aliyun-drive" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwshon%2Faliyun-drive", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwshon%2Faliyun-drive'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 99604079dc6f9fcf5f8fba3e06e2585cdb25ed07
[INFO] checking wshon/aliyun-drive against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwshon%2Faliyun-drive" "/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/wshon/aliyun-drive
[INFO] finished tweaking git repo https://github.com/wshon/aliyun-drive
[INFO] tweaked toml for git repo https://github.com/wshon/aliyun-drive written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wshon/aliyun-drive on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wshon/aliyun-drive 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6a8cd184b01dff20d667cd8ec5e4efa331f2f50798219ad17107b2bb1086205f
[INFO] running `Command { std: "docker" "start" "-a" "6a8cd184b01dff20d667cd8ec5e4efa331f2f50798219ad17107b2bb1086205f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a8cd184b01dff20d667cd8ec5e4efa331f2f50798219ad17107b2bb1086205f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a8cd184b01dff20d667cd8ec5e4efa331f2f50798219ad17107b2bb1086205f", kill_on_drop: false }`
[INFO] [stdout] 6a8cd184b01dff20d667cd8ec5e4efa331f2f50798219ad17107b2bb1086205f
[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=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4bf785f6f6fa98b739efa74dd1e9a2b836fb236db686e3fbc1237a6b32f3387
[INFO] running `Command { std: "docker" "start" "-a" "e4bf785f6f6fa98b739efa74dd1e9a2b836fb236db686e3fbc1237a6b32f3387", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling syn v1.0.77
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking instant v0.1.11
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]    Compiling futures-macro v0.3.17
[INFO] [stderr]     Checking futures-sink v0.3.17
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]     Checking futures-io v0.3.17
[INFO] [stderr]    Compiling ahash v0.7.4
[INFO] [stderr]    Compiling tokio v1.12.0
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]    Compiling pkg-config v0.3.20
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling cc v1.0.70
[INFO] [stderr]     Checking slab v0.4.4
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking proc-macro-nested v0.1.7
[INFO] [stderr]     Checking tracing-core v0.1.20
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]     Checking http v0.2.5
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]    Compiling serde_json v1.0.68
[INFO] [stderr]    Compiling openssl v0.10.36
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]    Compiling httparse v1.5.1
[INFO] [stderr]    Compiling openssl-sys v0.9.67
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]     Checking tinyvec v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]     Checking generic-array v0.14.4
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking unicode-bidi v0.3.6
[INFO] [stderr]     Checking httpdate v1.0.1
[INFO] [stderr]     Checking http-body v0.4.3
[INFO] [stderr]     Checking tower-service v0.3.1
[INFO] [stderr]    Compiling const_fn v0.4.8
[INFO] [stderr]     Checking openssl-probe v0.1.4
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]     Checking fastrand v1.5.0
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]    Compiling encoding_rs v0.8.28
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking flate2 v1.0.22
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking polling v2.1.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking raw-cpuid v10.2.0
[INFO] [stderr]     Checking event-listener v2.5.1
[INFO] [stderr]     Checking xml-rs v0.8.4
[INFO] [stderr]    Compiling anyhow v1.0.44
[INFO] [stderr]    Compiling moka v0.6.1
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking async-io v1.6.0
[INFO] [stderr]     Checking async-lock v2.4.0
[INFO] [stderr]     Checking headers v0.3.4
[INFO] [stderr]     Checking matchers v0.0.1
[INFO] [stderr]     Checking moka-cht v0.4.2
[INFO] [stderr]     Checking xmltree v0.10.3
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking quanta v0.9.3
[INFO] [stderr]     Checking lru v0.6.6
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.5
[INFO] [stderr]     Checking tracing-log v0.1.2
[INFO] [stderr]     Checking thread_local v1.1.3
[INFO] [stderr]     Checking sharded-slab v0.1.3
[INFO] [stderr]     Checking ipnet v2.3.1
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking htmlescape v0.3.1
[INFO] [stderr]     Checking time v0.3.3
[INFO] [stderr]    Compiling tokio-macros v1.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.16
[INFO] [stderr]    Compiling time-macros-impl v0.1.2
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling thiserror-impl v1.0.29
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling structopt-derive v0.4.16
[INFO] [stderr]     Checking time-macros v0.1.1
[INFO] [stderr]     Checking thiserror v1.0.29
[INFO] [stderr]     Checking tracing v0.1.28
[INFO] [stderr]     Checking pin-project v1.0.8
[INFO] [stderr]     Checking structopt v0.3.23
[INFO] [stderr]     Checking tokio-util v0.6.8
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking async-compression v0.3.8
[INFO] [stderr]     Checking futures-executor v0.3.17
[INFO] [stderr]     Checking futures v0.3.17
[INFO] [stderr]     Checking h2 v0.3.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]     Checking tracing-serde v0.1.2
[INFO] [stderr]     Checking hyper v0.14.13
[INFO] [stderr]     Checking handlebars v3.5.5
[INFO] [stderr]     Checking tracing-subscriber v0.2.24
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking webdav-handler v0.2.0 (https://github.com/sj6219/webdav-handler-rs?branch=win#95e6f0e1)
[INFO] [stderr]     Checking reqwest v0.11.4
[INFO] [stderr]     Checking aliyun-driver v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `native-tls-vendored`
[INFO] [stdout]   --> src/main.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 |     #[cfg(feature = "native-tls-vendored")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `openssl-probe`
[INFO] [stdout]    = help: consider adding `native-tls-vendored` 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: unexpected `cfg` condition value: `native-tls-vendored`
[INFO] [stdout]   --> src/main.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 |     #[cfg(feature = "native-tls-vendored")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `openssl-probe`
[INFO] [stdout]    = help: consider adding `native-tls-vendored` 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: fields `token_type` and `user_id` are never read
[INFO] [stdout]    --> src/aliyundrive.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 485 | struct RefreshTokenResponse {
[INFO] [stdout]     |        -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 489 |     token_type: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 490 |     user_id: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RefreshTokenResponse` has derived impls for the traits `Clone` and `Debug`, but these are 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: struct `GetFileRequest` is never constructed
[INFO] [stdout]    --> src/aliyundrive.rs:517:8
[INFO] [stdout]     |
[INFO] [stdout] 517 | struct GetFileRequest<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `expiration` are never read
[INFO] [stdout]    --> src/aliyundrive.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 533 | struct GetFileDownloadUrlResponse {
[INFO] [stdout]     |        -------------------------- fields in this struct
[INFO] [stdout] 534 |     url: String,
[INFO] [stdout] 535 |     size: u64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 536 |     expiration: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetFileDownloadUrlResponse` 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 `file_name` is never read
[INFO] [stdout]    --> src/aliyundrive.rs:598:9
[INFO] [stdout]     |
[INFO] [stdout] 593 | pub struct CreateFileWithProofResponse {
[INFO] [stdout]     |            --------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub file_name: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFileWithProofResponse` 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 `GetUploadUrlRequest` is never constructed
[INFO] [stdout]    --> src/aliyundrive.rs:609:8
[INFO] [stdout]     |
[INFO] [stdout] 609 | struct GetUploadUrlRequest<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | /     /// Listen host
[INFO] [stdout] 20 | |     #[structopt(long, default_value = "0.0.0.0")]
[INFO] [stdout] 21 | |     host: String,
[INFO] [stdout]    | |________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | /     /// Aliyun drive refresh token
[INFO] [stdout] 26 | |     #[structopt(short, long, env = "REFRESH_TOKEN")]
[INFO] [stdout] 27 | |     refresh_token: String,
[INFO] [stdout]    | |_________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     /// WebDAV authentication username
[INFO] [stdout] 29 | |     #[structopt(short = "U", long, env = "WEBDAV_AUTH_USER")]
[INFO] [stdout] 30 | |     auth_user: Option<String>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     /// WebDAV authentication password
[INFO] [stdout] 32 | |     #[structopt(short = "W", long, env = "WEBDAV_AUTH_PASSWORD")]
[INFO] [stdout] 33 | |     auth_password: Option<String>,
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | /     /// Root directory path
[INFO] [stdout] 44 | |     #[structopt(long, default_value = "/")]
[INFO] [stdout] 45 | |     root: String,
[INFO] [stdout]    | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | /     /// Working directory, refresh_token will be stored in there if specified
[INFO] [stdout] 47 | |     #[structopt(short = "w", long)]
[INFO] [stdout] 48 | |     workdir: Option<PathBuf>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:103:24: 103:63}, hyper::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |           async move {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 103 | |             let func = move |req: hyper::Request<hyper::Body>| {
[INFO] [stdout] 104 | |                 let dav_server = dav_server.clone();
[INFO] [stdout] 105 | |                 let auth_user = auth_user.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 138 | |             Ok::<_, Infallible>(hyper::service::service_fn(func))
[INFO] [stdout] 139 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   async move {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 108 | |                     if should_auth {
[INFO] [stdout] 109 | |                         let auth_user = auth_user.unwrap();
[INFO] [stdout] 110 | |                         let auth_pwd = auth_pwd.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |                 }
[INFO] [stdout]     | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 | /                     if should_auth {
[INFO] [stdout] 109 | |                         let auth_user = auth_user.unwrap();
[INFO] [stdout] 110 | |                         let auth_pwd = auth_pwd.unwrap();
[INFO] [stdout] 111 | |                         let user = match req.headers().typed_get::<Authorization<Basic>>() {
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |                         Ok::<_, Infallible>(dav_server.handle(req).await)
[INFO] [stdout] 135 | |                     }
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:108:36
[INFO] [stdout]     |
[INFO] [stdout] 108 |                       if should_auth {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 109 | |                         let auth_user = auth_user.unwrap();
[INFO] [stdout] 110 | |                         let auth_pwd = auth_pwd.unwrap();
[INFO] [stdout] 111 | |                         let user = match req.headers().typed_get::<Authorization<Basic>>() {
[INFO] [stdout] ...   |
[INFO] [stdout] 132 | |                         Ok::<_, Infallible>(dav_server.handle_with(config, req).await)
[INFO] [stdout] 133 | |                     } else {
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:128:40
[INFO] [stdout]     |
[INFO] [stdout] 128 | ...                   return Ok(response);
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:132:25
[INFO] [stdout]     |
[INFO] [stdout] 132 |                         Ok::<_, Infallible>(dav_server.handle_with(config, req).await)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |                       } else {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 134 | |                         Ok::<_, Infallible>(dav_server.handle(req).await)
[INFO] [stdout] 135 | |                     }
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:134:25
[INFO] [stdout]     |
[INFO] [stdout] 134 |                         Ok::<_, Infallible>(dav_server.handle(req).await)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:103:24: 103:63}, hyper::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Ok::<_, Infallible>(hyper::service::service_fn(func))
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrive.rs:689:17
[INFO] [stdout]     |
[INFO] [stdout] 689 |     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] 689 |     fn metadata(&self) -> FsFuture<'_, Box<dyn DavMetaData>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:172:10
[INFO] [stdout]     |
[INFO] [stdout] 169 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 170 |         dav_path: &'a DavPath,
[INFO] [stdout]     |                    -- the lifetime is named here
[INFO] [stdout] 171 |         options: OpenOptions,
[INFO] [stdout] 172 |     ) -> FsFuture<Box<dyn DavFile>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     ) -> FsFuture<'a, Box<dyn DavFile>> {
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aliyun-driver` (bin "aliyun-driver") due to 15 previous errors; 18 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:220:10
[INFO] [stdout]     |
[INFO] [stdout] 217 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 218 |         path: &'a DavPath,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 219 |         _meta: ReadDirMeta,
[INFO] [stdout] 220 |     ) -> FsFuture<FsStream<Box<dyn DavDirEntry>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 220 |     ) -> FsFuture<'a, FsStream<Box<dyn DavDirEntry>>> {
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:235:53
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn metadata<'a>(&'a self, path: &'a DavPath) -> FsFuture<Box<dyn DavMetaData>> {
[INFO] [stdout]     |                      --              --             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |               |
[INFO] [stdout]     |                      |               the lifetime is named here
[INFO] [stdout]     |                      the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn metadata<'a>(&'a self, path: &'a DavPath) -> FsFuture<'a, Box<dyn DavMetaData>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:245:59
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn create_dir<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<()> {
[INFO] [stdout]     |                        --                  --             ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |                   |
[INFO] [stdout]     |                        |                   the lifetime is named here
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn create_dir<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:271:59
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn remove_dir<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<()> {
[INFO] [stdout]     |                        --                  --             ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |                   |
[INFO] [stdout]     |                        |                   the lifetime is named here
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn remove_dir<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:293:60
[INFO] [stdout]     |
[INFO] [stdout] 293 |     fn remove_file<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<()> {
[INFO] [stdout]     |                         --                  --             ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   the lifetime is named here
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 293 |     fn remove_file<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:315:68
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn rename<'a>(&'a self, from: &'a DavPath, to: &'a DavPath) -> FsFuture<()> {
[INFO] [stdout]     |                    --              --               --             ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |               |                |
[INFO] [stdout]     |                    |               |                the lifetime is named here
[INFO] [stdout]     |                    |               the lifetime is named here
[INFO] [stdout]     |                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn rename<'a>(&'a self, from: &'a DavPath, to: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:491:20
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn write_bytes(&mut self, buf: 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] 491 |     fn write_bytes(&mut self, buf: Bytes) -> FsFuture<'_, ()> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:502:19
[INFO] [stdout]     |
[INFO] [stdout] 502 |     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] 502 |     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/aliyundrivefs.rs:525:13
[INFO] [stdout]     |
[INFO] [stdout] 525 |     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] 525 |     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/aliyundrivefs.rs:544:14
[INFO] [stdout]     |
[INFO] [stdout] 544 |     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] 544 |     fn flush(&mut self) -> FsFuture<'_, ()> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token_type` and `user_id` are never read
[INFO] [stdout]    --> src/aliyundrive.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 485 | struct RefreshTokenResponse {
[INFO] [stdout]     |        -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 489 |     token_type: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 490 |     user_id: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RefreshTokenResponse` has derived impls for the traits `Clone` and `Debug`, but these are 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: struct `GetFileRequest` is never constructed
[INFO] [stdout]    --> src/aliyundrive.rs:517:8
[INFO] [stdout]     |
[INFO] [stdout] 517 | struct GetFileRequest<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `expiration` are never read
[INFO] [stdout]    --> src/aliyundrive.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 533 | struct GetFileDownloadUrlResponse {
[INFO] [stdout]     |        -------------------------- fields in this struct
[INFO] [stdout] 534 |     url: String,
[INFO] [stdout] 535 |     size: u64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 536 |     expiration: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetFileDownloadUrlResponse` 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 `file_name` is never read
[INFO] [stdout]    --> src/aliyundrive.rs:598:9
[INFO] [stdout]     |
[INFO] [stdout] 593 | pub struct CreateFileWithProofResponse {
[INFO] [stdout]     |            --------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub file_name: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateFileWithProofResponse` 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 `GetUploadUrlRequest` is never constructed
[INFO] [stdout]    --> src/aliyundrive.rs:609:8
[INFO] [stdout]     |
[INFO] [stdout] 609 | struct GetUploadUrlRequest<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | /     /// Listen host
[INFO] [stdout] 20 | |     #[structopt(long, default_value = "0.0.0.0")]
[INFO] [stdout] 21 | |     host: String,
[INFO] [stdout]    | |________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | /     /// Aliyun drive refresh token
[INFO] [stdout] 26 | |     #[structopt(short, long, env = "REFRESH_TOKEN")]
[INFO] [stdout] 27 | |     refresh_token: String,
[INFO] [stdout]    | |_________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     /// WebDAV authentication username
[INFO] [stdout] 29 | |     #[structopt(short = "U", long, env = "WEBDAV_AUTH_USER")]
[INFO] [stdout] 30 | |     auth_user: Option<String>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     /// WebDAV authentication password
[INFO] [stdout] 32 | |     #[structopt(short = "W", long, env = "WEBDAV_AUTH_PASSWORD")]
[INFO] [stdout] 33 | |     auth_password: Option<String>,
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | /     /// Root directory path
[INFO] [stdout] 44 | |     #[structopt(long, default_value = "/")]
[INFO] [stdout] 45 | |     root: String,
[INFO] [stdout]    | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<PathBuf, Infallible>
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | /     /// Working directory, refresh_token will be stored in there if specified
[INFO] [stdout] 47 | |     #[structopt(short = "w", long)]
[INFO] [stdout] 48 | |     workdir: Option<PathBuf>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:103:24: 103:63}, hyper::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |           async move {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 103 | |             let func = move |req: hyper::Request<hyper::Body>| {
[INFO] [stdout] 104 | |                 let dav_server = dav_server.clone();
[INFO] [stdout] 105 | |                 let auth_user = auth_user.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 138 | |             Ok::<_, Infallible>(hyper::service::service_fn(func))
[INFO] [stdout] 139 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   async move {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 108 | |                     if should_auth {
[INFO] [stdout] 109 | |                         let auth_user = auth_user.unwrap();
[INFO] [stdout] 110 | |                         let auth_pwd = auth_pwd.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |                 }
[INFO] [stdout]     | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 | /                     if should_auth {
[INFO] [stdout] 109 | |                         let auth_user = auth_user.unwrap();
[INFO] [stdout] 110 | |                         let auth_pwd = auth_pwd.unwrap();
[INFO] [stdout] 111 | |                         let user = match req.headers().typed_get::<Authorization<Basic>>() {
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |                         Ok::<_, Infallible>(dav_server.handle(req).await)
[INFO] [stdout] 135 | |                     }
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:108:36
[INFO] [stdout]     |
[INFO] [stdout] 108 |                       if should_auth {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 109 | |                         let auth_user = auth_user.unwrap();
[INFO] [stdout] 110 | |                         let auth_pwd = auth_pwd.unwrap();
[INFO] [stdout] 111 | |                         let user = match req.headers().typed_get::<Authorization<Basic>>() {
[INFO] [stdout] ...   |
[INFO] [stdout] 132 | |                         Ok::<_, Infallible>(dav_server.handle_with(config, req).await)
[INFO] [stdout] 133 | |                     } else {
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:128:40
[INFO] [stdout]     |
[INFO] [stdout] 128 | ...                   return Ok(response);
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:132:25
[INFO] [stdout]     |
[INFO] [stdout] 132 |                         Ok::<_, Infallible>(dav_server.handle_with(config, req).await)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |                       } else {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 134 | |                         Ok::<_, Infallible>(dav_server.handle(req).await)
[INFO] [stdout] 135 | |                     }
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::Response<webdav_handler::body::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:134:25
[INFO] [stdout]     |
[INFO] [stdout] 134 |                         Ok::<_, Infallible>(dav_server.handle(req).await)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:103:24: 103:63}, hyper::Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Ok::<_, Infallible>(hyper::service::service_fn(func))
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrive.rs:689:17
[INFO] [stdout]     |
[INFO] [stdout] 689 |     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] 689 |     fn metadata(&self) -> FsFuture<'_, Box<dyn DavMetaData>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:172:10
[INFO] [stdout]     |
[INFO] [stdout] 169 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 170 |         dav_path: &'a DavPath,
[INFO] [stdout]     |                    -- the lifetime is named here
[INFO] [stdout] 171 |         options: OpenOptions,
[INFO] [stdout] 172 |     ) -> FsFuture<Box<dyn DavFile>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     ) -> FsFuture<'a, Box<dyn DavFile>> {
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:220:10
[INFO] [stdout]     |
[INFO] [stdout] 217 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 218 |         path: &'a DavPath,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 219 |         _meta: ReadDirMeta,
[INFO] [stdout] 220 |     ) -> FsFuture<FsStream<Box<dyn DavDirEntry>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 220 |     ) -> FsFuture<'a, FsStream<Box<dyn DavDirEntry>>> {
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:235:53
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn metadata<'a>(&'a self, path: &'a DavPath) -> FsFuture<Box<dyn DavMetaData>> {
[INFO] [stdout]     |                      --              --             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |               |
[INFO] [stdout]     |                      |               the lifetime is named here
[INFO] [stdout]     |                      the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn metadata<'a>(&'a self, path: &'a DavPath) -> FsFuture<'a, Box<dyn DavMetaData>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:245:59
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn create_dir<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<()> {
[INFO] [stdout]     |                        --                  --             ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |                   |
[INFO] [stdout]     |                        |                   the lifetime is named here
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn create_dir<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:271:59
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn remove_dir<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<()> {
[INFO] [stdout]     |                        --                  --             ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |                   |
[INFO] [stdout]     |                        |                   the lifetime is named here
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn remove_dir<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:293:60
[INFO] [stdout]     |
[INFO] [stdout] 293 |     fn remove_file<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<()> {
[INFO] [stdout]     |                         --                  --             ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   the lifetime is named here
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 293 |     fn remove_file<'a>(&'a self, dav_path: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:315:68
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn rename<'a>(&'a self, from: &'a DavPath, to: &'a DavPath) -> FsFuture<()> {
[INFO] [stdout]     |                    --              --               --             ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |               |                |
[INFO] [stdout]     |                    |               |                the lifetime is named here
[INFO] [stdout]     |                    |               the lifetime is named here
[INFO] [stdout]     |                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn rename<'a>(&'a self, from: &'a DavPath, to: &'a DavPath) -> FsFuture<'a, ()> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:491:20
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn write_bytes(&mut self, buf: 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] 491 |     fn write_bytes(&mut self, buf: Bytes) -> FsFuture<'_, ()> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/aliyundrivefs.rs:502:19
[INFO] [stdout]     |
[INFO] [stdout] 502 |     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] 502 |     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/aliyundrivefs.rs:525:13
[INFO] [stdout]     |
[INFO] [stdout] 525 |     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] 525 |     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/aliyundrivefs.rs:544:14
[INFO] [stdout]     |
[INFO] [stdout] 544 |     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] 544 |     fn flush(&mut self) -> FsFuture<'_, ()> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aliyun-driver` (bin "aliyun-driver" test) due to 15 previous errors; 18 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e4bf785f6f6fa98b739efa74dd1e9a2b836fb236db686e3fbc1237a6b32f3387", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4bf785f6f6fa98b739efa74dd1e9a2b836fb236db686e3fbc1237a6b32f3387", kill_on_drop: false }`
[INFO] [stdout] e4bf785f6f6fa98b739efa74dd1e9a2b836fb236db686e3fbc1237a6b32f3387
