[INFO] fetching crate qiniu-upload 0.1.1...
[INFO] testing qiniu-upload-0.1.1 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate qiniu-upload 0.1.1 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate qiniu-upload 0.1.1
[INFO] finished tweaking crates.io crate qiniu-upload 0.1.1
[INFO] tweaked toml for crates.io crate qiniu-upload 0.1.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate qiniu-upload 0.1.1 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate qiniu-upload 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fa491d07c9363c9fead30afa254f95627f8c60ee6b786f1a4f9068a662321cf7
[INFO] running `Command { std: "docker" "start" "-a" "fa491d07c9363c9fead30afa254f95627f8c60ee6b786f1a4f9068a662321cf7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fa491d07c9363c9fead30afa254f95627f8c60ee6b786f1a4f9068a662321cf7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa491d07c9363c9fead30afa254f95627f8c60ee6b786f1a4f9068a662321cf7", kill_on_drop: false }`
[INFO] [stdout] fa491d07c9363c9fead30afa254f95627f8c60ee6b786f1a4f9068a662321cf7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] addcb07bde646fd03d441670ee0fce48b1af9e1f1194ffd035b88898d3e7755b
[INFO] running `Command { std: "docker" "start" "-a" "addcb07bde646fd03d441670ee0fce48b1af9e1f1194ffd035b88898d3e7755b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.98
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.74
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling pin-project-lite v0.2.7
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling futures-core v0.3.15
[INFO] [stderr]    Compiling cc v1.0.69
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling slab v0.4.3
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling futures-task v0.3.15
[INFO] [stderr]    Compiling futures-sink v0.3.15
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-channel v0.3.15
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling futures-io v0.3.15
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling openssl v0.10.35
[INFO] [stderr]    Compiling matches v0.1.8
[INFO] [stderr]    Compiling futures-macro v0.3.15
[INFO] [stderr]    Compiling tokio v1.8.2
[INFO] [stderr]    Compiling futures-util v0.3.15
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling http v0.2.4
[INFO] [stderr]    Compiling httparse v1.4.1
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling native-tls v0.2.7
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling tracing-core v0.1.18
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling tinyvec v1.3.1
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling openssl-sys v0.9.65
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling mio v0.7.13
[INFO] [stderr]    Compiling try-lock v0.2.3
[INFO] [stderr]    Compiling openssl-probe v0.1.4
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling tracing v0.1.26
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling socket2 v0.4.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.5
[INFO] [stderr]    Compiling encoding_rs v0.8.28
[INFO] [stderr]    Compiling httpdate v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling tower-service v0.3.1
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling inotify v0.7.1
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling filetime v0.2.14
[INFO] [stderr]    Compiling dirs-sys v0.3.6
[INFO] [stderr]    Compiling cpufeatures v0.1.5
[INFO] [stderr]    Compiling crypto-mac v0.11.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling ipnet v2.3.1
[INFO] [stderr]    Compiling positioned-io-preview v0.3.3
[INFO] [stderr]    Compiling hmac v0.11.0
[INFO] [stderr]    Compiling sha-1 v0.9.7
[INFO] [stderr]    Compiling directories v3.0.2
[INFO] [stderr]    Compiling md-5 v0.9.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling mio-extras v2.0.6
[INFO] [stderr]    Compiling http-body v0.4.2
[INFO] [stderr]    Compiling notify v4.0.17
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling tokio-macros v1.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.26
[INFO] [stderr]    Compiling thiserror v1.0.26
[INFO] [stderr]    Compiling futures-executor v0.3.15
[INFO] [stderr]    Compiling futures v0.3.15
[INFO] [stderr]    Compiling tokio-util v0.6.7
[INFO] [stderr]    Compiling tokio-native-tls v0.3.0
[INFO] [stderr]    Compiling h2 v0.3.3
[INFO] [stderr]    Compiling serde_urlencoded v0.7.0
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling dashmap v4.0.2
[INFO] [stderr]    Compiling hyper v0.14.11
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.4
[INFO] [stderr]    Compiling qiniu-upload v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/credential.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn get(&self) -> Result<Credential>;
[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] 79 |     fn get(&self) -> Result<Credential<'_>>;
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/credential.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get(&self) -> Result<Credential> {
[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] 104 |     fn get(&self) -> Result<Credential<'_>> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_policy.rs:77:24
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub(super) fn keys(&self) -> JSONMapKeys {
[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] 77 |     pub(super) fn keys(&self) -> JSONMapKeys<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn access_key(&self) -> ParseResult<Cow<str>>;
[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] 35 |     fn access_key(&self) -> ParseResult<Cow<'_, str>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>>;
[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] 36 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn to_string(&self) -> IOResult<Cow<str>>;
[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] 37 |     fn to_string(&self) -> IOResult<Cow<'_, str>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 69 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 80 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 96 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 142 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 147 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:151:18
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 151 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:213:19
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 213 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 217 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 226 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 280 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:284:15
[INFO] [stdout]     |
[INFO] [stdout] 284 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 284 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:294:18
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 294 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:285:24
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn upload_file(&self, source: File) -> UploadRequestBuilder {
[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] 285 |     pub fn upload_file(&self, source: File) -> UploadRequestBuilder<'_> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:302:24
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn upload_path(&self, path: impl AsRef<Path>) -> IOResult<UploadRequestBuilder> {
[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] 302 |     pub fn upload_path(&self, path: impl AsRef<Path>) -> IOResult<UploadRequestBuilder<'_>> {
[INFO] [stdout]     |                                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 651 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:659:15
[INFO] [stdout]     |
[INFO] [stdout] 659 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 659 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:667:18
[INFO] [stdout]     |
[INFO] [stdout] 667 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 667 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.62s
[INFO] running `Command { std: "docker" "inspect" "addcb07bde646fd03d441670ee0fce48b1af9e1f1194ffd035b88898d3e7755b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "addcb07bde646fd03d441670ee0fce48b1af9e1f1194ffd035b88898d3e7755b", kill_on_drop: false }`
[INFO] [stdout] addcb07bde646fd03d441670ee0fce48b1af9e1f1194ffd035b88898d3e7755b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dde829e6220b60ec80b370943cc7c99e4990da642484c6bacfa88d6b7249c54c
[INFO] running `Command { std: "docker" "start" "-a" "dde829e6220b60ec80b370943cc7c99e4990da642484c6bacfa88d6b7249c54c", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling input_buffer v0.4.0
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling twoway v0.1.8
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling anyhow v1.0.42
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling tokio-stream v0.1.7
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling scoped-tls v1.0.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/credential.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn get(&self) -> Result<Credential>;
[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] 79 |     fn get(&self) -> Result<Credential<'_>>;
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/credential.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get(&self) -> Result<Credential> {
[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] 104 |     fn get(&self) -> Result<Credential<'_>> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_policy.rs:77:24
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub(super) fn keys(&self) -> JSONMapKeys {
[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] 77 |     pub(super) fn keys(&self) -> JSONMapKeys<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn access_key(&self) -> ParseResult<Cow<str>>;
[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] 35 |     fn access_key(&self) -> ParseResult<Cow<'_, str>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>>;
[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] 36 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn to_string(&self) -> IOResult<Cow<str>>;
[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] 37 |     fn to_string(&self) -> IOResult<Cow<'_, str>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 69 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 80 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 96 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 142 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 147 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:151:18
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 151 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:213:19
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 213 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 217 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 226 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 280 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:284:15
[INFO] [stdout]     |
[INFO] [stdout] 284 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 284 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:294:18
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 294 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:285:24
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn upload_file(&self, source: File) -> UploadRequestBuilder {
[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] 285 |     pub fn upload_file(&self, source: File) -> UploadRequestBuilder<'_> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:302:24
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn upload_path(&self, path: impl AsRef<Path>) -> IOResult<UploadRequestBuilder> {
[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] 302 |     pub fn upload_path(&self, path: impl AsRef<Path>) -> IOResult<UploadRequestBuilder<'_>> {
[INFO] [stdout]     |                                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 651 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:659:15
[INFO] [stdout]     |
[INFO] [stdout] 659 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 659 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:667:18
[INFO] [stdout]     |
[INFO] [stdout] 667 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 667 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling buf_redux v0.8.4
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling tungstenite v0.12.0
[INFO] [stderr]    Compiling headers v0.3.4
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling multipart v0.17.1
[INFO] [stderr]    Compiling pin-project v1.0.8
[INFO] [stderr]    Compiling tokio-tungstenite v0.13.0
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling warp v0.3.1
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling qiniu-upload v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/credential.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn get(&self) -> Result<Credential>;
[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] 79 |     fn get(&self) -> Result<Credential<'_>>;
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/credential.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get(&self) -> Result<Credential> {
[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] 104 |     fn get(&self) -> Result<Credential<'_>> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_policy.rs:77:24
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub(super) fn keys(&self) -> JSONMapKeys {
[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] 77 |     pub(super) fn keys(&self) -> JSONMapKeys<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn access_key(&self) -> ParseResult<Cow<str>>;
[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] 35 |     fn access_key(&self) -> ParseResult<Cow<'_, str>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>>;
[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] 36 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn to_string(&self) -> IOResult<Cow<str>>;
[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] 37 |     fn to_string(&self) -> IOResult<Cow<'_, str>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 69 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 80 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/upload_token.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 96 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 142 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 147 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:151:18
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 151 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:213:19
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 213 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 217 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 226 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 280 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:284:15
[INFO] [stdout]     |
[INFO] [stdout] 284 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 284 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/upload_token.rs:294:18
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 294 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:285:24
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn upload_file(&self, source: File) -> UploadRequestBuilder {
[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] 285 |     pub fn upload_file(&self, source: File) -> UploadRequestBuilder<'_> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:302:24
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn upload_path(&self, path: impl AsRef<Path>) -> IOResult<UploadRequestBuilder> {
[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] 302 |     pub fn upload_path(&self, path: impl AsRef<Path>) -> IOResult<UploadRequestBuilder<'_>> {
[INFO] [stdout]     |                                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 651 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:659:15
[INFO] [stdout]     |
[INFO] [stdout] 659 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 659 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/uploader.rs:667:18
[INFO] [stdout]     |
[INFO] [stdout] 667 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 667 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.39s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "dde829e6220b60ec80b370943cc7c99e4990da642484c6bacfa88d6b7249c54c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dde829e6220b60ec80b370943cc7c99e4990da642484c6bacfa88d6b7249c54c", kill_on_drop: false }`
[INFO] [stdout] dde829e6220b60ec80b370943cc7c99e4990da642484c6bacfa88d6b7249c54c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 37f1cd8f0cae8c20cb3b8366ddfc2c06e6cb4e8c9ba4968f129866c057c54cc1
[INFO] running `Command { std: "docker" "start" "-a" "37f1cd8f0cae8c20cb3b8366ddfc2c06e6cb4e8c9ba4968f129866c057c54cc1", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/credential.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 79 |     fn get(&self) -> Result<Credential>;
[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] 79 |     fn get(&self) -> Result<Credential<'_>>;
[INFO] [stderr]    |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/credential.rs:104:12
[INFO] [stderr]     |
[INFO] [stderr] 104 |     fn get(&self) -> Result<Credential> {
[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] 104 |     fn get(&self) -> Result<Credential<'_>> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/upload_policy.rs:77:24
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pub(super) fn keys(&self) -> JSONMapKeys {
[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] 77 |     pub(super) fn keys(&self) -> JSONMapKeys<'_> {
[INFO] [stderr]    |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/upload_token.rs:35:19
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn access_key(&self) -> ParseResult<Cow<str>>;
[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] 35 |     fn access_key(&self) -> ParseResult<Cow<'_, str>>;
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/upload_token.rs:36:15
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>>;
[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] 36 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>>;
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/upload_token.rs:37:18
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn to_string(&self) -> IOResult<Cow<str>>;
[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] 37 |     fn to_string(&self) -> IOResult<Cow<'_, str>>;
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/upload_token.rs:69:19
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 69 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/upload_token.rs:80:15
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 80 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/upload_token.rs:96:18
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 96 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:142:19
[INFO] [stderr]     |
[INFO] [stderr] 142 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 142 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:147:15
[INFO] [stderr]     |
[INFO] [stderr] 147 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 147 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:151:18
[INFO] [stderr]     |
[INFO] [stderr] 151 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 151 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:213:19
[INFO] [stderr]     |
[INFO] [stderr] 213 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 213 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:217:15
[INFO] [stderr]     |
[INFO] [stderr] 217 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 217 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:226:18
[INFO] [stderr]     |
[INFO] [stderr] 226 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 226 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:280:19
[INFO] [stderr]     |
[INFO] [stderr] 280 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 280 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:284:15
[INFO] [stderr]     |
[INFO] [stderr] 284 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 284 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/upload_token.rs:294:18
[INFO] [stderr]     |
[INFO] [stderr] 294 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 294 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/uploader.rs:285:24
[INFO] [stderr]     |
[INFO] [stderr] 285 |     pub fn upload_file(&self, source: File) -> UploadRequestBuilder {
[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] 285 |     pub fn upload_file(&self, source: File) -> UploadRequestBuilder<'_> {
[INFO] [stderr]     |                                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/uploader.rs:302:24
[INFO] [stderr]     |
[INFO] [stderr] 302 |     pub fn upload_path(&self, path: impl AsRef<Path>) -> IOResult<UploadRequestBuilder> {
[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] 302 |     pub fn upload_path(&self, path: impl AsRef<Path>) -> IOResult<UploadRequestBuilder<'_>> {
[INFO] [stderr]     |                                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/uploader.rs:651:19
[INFO] [stderr]     |
[INFO] [stderr] 651 |     fn access_key(&self) -> ParseResult<Cow<str>> {
[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] 651 |     fn access_key(&self) -> ParseResult<Cow<'_, str>> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/uploader.rs:659:15
[INFO] [stderr]     |
[INFO] [stderr] 659 |     fn policy(&self) -> ParseResult<Cow<UploadPolicy>> {
[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] 659 |     fn policy(&self) -> ParseResult<Cow<'_, UploadPolicy>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/uploader.rs:667:18
[INFO] [stderr]     |
[INFO] [stderr] 667 |     fn to_string(&self) -> IOResult<Cow<str>> {
[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] 667 |     fn to_string(&self) -> IOResult<Cow<'_, str>> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: `qiniu-upload` (lib) generated 23 warnings (run `cargo fix --lib -p qiniu-upload` to apply 23 suggestions)
[INFO] [stderr] warning: `qiniu-upload` (lib test) generated 23 warnings (23 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/qiniu_upload-1331e8fc9b209e94)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test credential::tests::test_sign ... ok
[INFO] [stdout] test credential::tests::test_sign_data ... ok
[INFO] [stdout] test host_selector::tests::test_hosts_update ... ok
[INFO] [stdout] test upload_policy::tests::test_build_upload_policy_for_bucket ... ok
[INFO] [stdout] test upload_policy::tests::test_build_upload_policy_for_object ... ok
[INFO] [stdout] test host_selector::tests::test_hosts_updater ... ok
[INFO] [stdout] test uploader::tests::test_upload_overwritten_files ... FAILED
[INFO] [stdout] test uploader::tests::test_upload_files ... FAILED
[INFO] [stdout] test query::tests::test_uc_query_v4 ... ok
[INFO] [stdout] test upload_apis::tests::test_complete_parts ... ok
[INFO] [stdout] test upload_apis::tests::test_upload_part ... ok
[INFO] [stdout] test upload_apis::tests::test_init_parts ... ok
[INFO] [stdout] test upload_apis::tests::test_form_upload ... ok
[INFO] [stderr] [2025-10-01T12:17:41Z ERROR qiniu_upload::upload_apis] final failed init_parts url = http://127.0.0.1:35647/buckets/test-bucket/objects/~/uploads, error: StatusCodeError(StatusCodeError { status_code: 401, error_message: Some("bad token"), request_id: None })
[INFO] [stdout] test query::tests::test_uc_query_v4_with_cache ... FAILED
[INFO] [stdout] test upload_apis::tests::test_init_parts_with_error ... ok
[INFO] [stderr] [2025-10-01T12:17:41Z ERROR qiniu_upload::upload_apis] final failed init_parts url = http://127.0.0.1:35647/buckets/test-bucket/objects/~/uploads, error: StatusCodeError(StatusCodeError { status_code: 401, error_message: Some("bad token"), request_id: None })
[INFO] [stdout] test host_selector::tests::test_hosts_selector ... ok
[INFO] [stdout] test host_selector::tests::test_hosts_updater_auto_update ... ok
[INFO] [stdout] test config::tests::test_load_config ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- uploader::tests::test_upload_overwritten_files stdout ----
[INFO] [stdout] Error: environment variable not found
[INFO] [stdout] 
[INFO] [stdout] ---- uploader::tests::test_upload_files stdout ----
[INFO] [stdout] Error: environment variable not found
[INFO] [stdout] 
[INFO] [stdout] ---- query::tests::test_uc_query_v4_with_cache stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tokio-runtime-worker' (55) panicked at src/query.rs:440:17:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 0
[INFO] [stdout]  right: 1
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64a069ede982 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64a069ede982 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64a069ede982 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x64a069ede982 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h67edf0e4d33c343c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x64a069ef0b7f - core::fmt::rt::Argument::fmt::hef94184842aeafdd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x64a069ef0b7f - core::fmt::write::hcf0c66b48a8fa606
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x64a069ea8851 - std::io::default_write_fmt::h69967ac0ba93195f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x64a069ea8851 - std::io::Write::write_fmt::h8db9396209deaa1c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x64a069eb6222 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x64a069ebb43f - std::panicking::default_hook::{{closure}}::h91001850288db5f7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x64a069ebb2d1 - std::panicking::default_hook::h2346dbb704ef5512
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x64a0699865ce - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h18383b2e29377420
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x64a0699865ce - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x64a069ebbbaf - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6dba6e441651a0d1
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x64a069ebbbaf - std::panicking::panic_with_hook::hd2b063a6090d23a4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x64a069ebb95a - std::panicking::panic_handler::{{closure}}::he666d95f139a333e
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x64a069eb6359 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x64a069e9bbad - __rustc[1d67440d6e82e4f]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x64a069efb250 - core::panicking::panic_fmt::h420ddb7fd73daf53
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x64a069efb003 - core::panicking::assert_failed_inner::h448e1d534f4c3d4b
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x64a069efade7 - core::panicking::assert_failed::h87b296a5d40a0ee9
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x64a0695f71af - qiniu_upload::query::tests::test_uc_query_v4_with_cache::{{closure}}::{{closure}}::h73cbc18ea641a79f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/query.rs:440:17
[INFO] [stdout]   22:     0x64a0695e420d - <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::h11ccdda7a6f7c2bd
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/blocking/task.rs:42:21
[INFO] [stdout]   23:     0x64a0697023f2 - tokio::runtime::task::core::CoreStage<T>::poll::{{closure}}::h4e5abdf5aaf156ba
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/core.rs:243:24
[INFO] [stdout]   24:     0x64a069658b96 - tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::haa695721fed21fb1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/loom/std/unsafe_cell.rs:14:9
[INFO] [stdout]   25:     0x64a0697012d2 - tokio::runtime::task::core::CoreStage<T>::poll::h3092afb532165d44
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/core.rs:233:24
[INFO] [stdout]   26:     0x64a0697678bd - tokio::runtime::task::harness::poll_future::{{closure}}::hcfe18d7395794cf7
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/harness.rs:438:34
[INFO] [stdout]   27:     0x64a0696200f8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::he482b92f023f6ae3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x64a06967bd93 - std::panicking::catch_unwind::do_call::ha6854517c38ca090
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   29:     0x64a069679bdb - __rust_try
[INFO] [stdout]   30:     0x64a069663a66 - std::panicking::catch_unwind::h277e7280d394fb75
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x64a069663a66 - std::panic::catch_unwind::hdc60ec8847cb5103
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x64a06975f9bb - tokio::runtime::task::harness::poll_future::h5eef464e6e6c9872
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/harness.rs:425:19
[INFO] [stdout]   33:     0x64a069769529 - tokio::runtime::task::harness::Harness<T,S>::poll_inner::h7751fce57b00a304
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/harness.rs:89:9
[INFO] [stdout]   34:     0x64a069774708 - tokio::runtime::task::harness::Harness<T,S>::poll::h73539b904f0b746b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/harness.rs:59:20
[INFO] [stdout]   35:     0x64a06974f63b - tokio::runtime::task::raw::poll::h7b333a59fd551196
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/raw.rs:113:13
[INFO] [stdout]   36:     0x64a069d6fe77 - tokio::runtime::task::raw::RawTask::poll::h086d6d8c7ff09ee2
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/raw.rs:70:18
[INFO] [stdout]   37:     0x64a069d6fa01 - tokio::runtime::task::Notified<S>::run::hd7d3e2d2e36ee5f1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/task/mod.rs:171:20
[INFO] [stdout]   38:     0x64a069d6993e - tokio::runtime::blocking::pool::Inner::run::hca1ae3b4662f30f2
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/blocking/pool.rs:265:22
[INFO] [stdout]   39:     0x64a069d6a795 - tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::h62407997388b7b10
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.8.2/src/runtime/blocking/pool.rs:245:43
[INFO] [stdout]   40:     0x64a069d2de16 - std::sys::backtrace::__rust_begin_short_backtrace::hc62531ee04375cab
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   41:     0x64a069d5024f - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h605ce7d87b874272
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   42:     0x64a069d71c91 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdd89136649421c53
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   43:     0x64a069d6bd12 - std::panicking::catch_unwind::do_call::h42c169eae7e2efc3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   44:     0x64a069d52c1b - __rust_try
[INFO] [stdout]   45:     0x64a069d4ffed - std::panicking::catch_unwind::h197afb6c98b31534
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   46:     0x64a069d4ffed - std::panic::catch_unwind::h63cc5ac52e8e7b1b
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   47:     0x64a069d4ffed - std::thread::Builder::spawn_unchecked_::{{closure}}::h531711ad704a4f23
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   48:     0x64a069d6200f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2671499a386addd9
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49:     0x64a069eb14bf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2044e71c41d3958a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   50:     0x64a069eb14bf - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   51:     0x7ee86fd2daa4 - <unknown>
[INFO] [stdout]   52:     0x7ee86fdbaa34 - clone
[INFO] [stdout]   53:                0x0 - <unknown>
[INFO] [stdout] Error: panic
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     query::tests::test_uc_query_v4_with_cache
[INFO] [stdout]     uploader::tests::test_upload_files
[INFO] [stdout]     uploader::tests::test_upload_overwritten_files
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 15 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.02s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "37f1cd8f0cae8c20cb3b8366ddfc2c06e6cb4e8c9ba4968f129866c057c54cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "37f1cd8f0cae8c20cb3b8366ddfc2c06e6cb4e8c9ba4968f129866c057c54cc1", kill_on_drop: false }`
[INFO] [stdout] 37f1cd8f0cae8c20cb3b8366ddfc2c06e6cb4e8c9ba4968f129866c057c54cc1
