[INFO] fetching crate br-oss 0.0.10...
[INFO] checking br-oss-0.0.10 against master#80399064afa4a2cd153f30d02c25f7ea0383ed65 for opaque-soundness-fix
[INFO] extracting crate br-oss 0.0.10 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate br-oss 0.0.10 on toolchain 80399064afa4a2cd153f30d02c25f7ea0383ed65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate br-oss 0.0.10
[INFO] finished tweaking crates.io crate br-oss 0.0.10
[INFO] tweaked toml for crates.io crate br-oss 0.0.10 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate br-oss 0.0.10 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" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded xml2json-rs v1.0.1
[INFO] [stderr]   Downloaded stderrlog v0.5.4
[INFO] [stderr]   Downloaded wild v2.1.0
[INFO] [stderr]   Downloaded br-file v0.0.1
[INFO] [stderr]   Downloaded libdeflater v0.11.0
[INFO] [stderr]   Downloaded br-http v0.0.13
[INFO] [stderr]   Downloaded zopfli v0.7.4
[INFO] [stderr]   Downloaded br-crypto v0.1.14
[INFO] [stderr]   Downloaded sha256-rs v1.0.1
[INFO] [stderr]   Downloaded oxipng v8.0.0
[INFO] [stderr]   Downloaded textcode v0.2.2
[INFO] [stderr]   Downloaded libdeflate-sys v0.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0818f8a60f73372e33e4c728daae923bf4c2e9775e1faf17ce7dc745858f6daa
[INFO] running `Command { std: "docker" "start" "-a" "0818f8a60f73372e33e4c728daae923bf4c2e9775e1faf17ce7dc745858f6daa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0818f8a60f73372e33e4c728daae923bf4c2e9775e1faf17ce7dc745858f6daa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0818f8a60f73372e33e4c728daae923bf4c2e9775e1faf17ce7dc745858f6daa", kill_on_drop: false }`
[INFO] [stdout] 0818f8a60f73372e33e4c728daae923bf4c2e9775e1faf17ce7dc745858f6daa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8d49965938271ce15b548ca010eeca44a4e28abcb9c6ee5be6dec8a863e51d10
[INFO] running `Command { std: "docker" "start" "-a" "8d49965938271ce15b548ca010eeca44a4e28abcb9c6ee5be6dec8a863e51d10", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking encoding_index_tests v0.1.4
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking aho-corasick v1.0.4
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking flate2 v1.0.27
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking os_str_bytes v6.5.1
[INFO] [stderr]    Compiling serde v1.0.185
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking regex-syntax v0.7.4
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking textwrap v0.16.0
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking cpufeatures v0.2.9
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking hashbrown v0.14.0
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]    Compiling serde_json v1.0.105
[INFO] [stderr]     Checking zopfli v0.7.4
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]    Compiling openssl-sys v0.9.91
[INFO] [stderr]    Compiling libz-sys v1.1.12
[INFO] [stderr]    Compiling libdeflate-sys v0.11.0
[INFO] [stderr]    Compiling curl-sys v0.4.65+curl-8.2.1
[INFO] [stderr]     Checking indexmap v2.0.0
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking stderrlog v0.5.4
[INFO] [stderr]     Checking rgb v0.8.36
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking filetime v0.2.22
[INFO] [stderr]     Checking regex-automata v0.3.6
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking encoding-index-korean v1.20141219.5
[INFO] [stderr]     Checking encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]     Checking encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-japanese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking wild v2.1.0
[INFO] [stderr]    Compiling rustix v0.37.23
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]    Compiling curl v0.4.44
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking walkdir v2.3.3
[INFO] [stderr]     Checking encoding v0.2.33
[INFO] [stderr]     Checking uuid v1.4.1
[INFO] [stderr]     Checking io-lifetimes v1.0.11
[INFO] [stderr]     Checking sha2 v0.10.7
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking quick-xml v0.23.1
[INFO] [stderr]     Checking sha256-rs v1.0.1
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking libdeflater v0.11.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]     Checking json v0.12.4
[INFO] [stderr]     Checking regex v1.9.3
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking textcode v0.2.2
[INFO] [stderr]     Checking base64 v0.21.2
[INFO] [stderr]     Checking iana-time-zone v0.1.57
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking chrono v0.4.31
[INFO] [stderr]     Checking br-crypto v0.1.14
[INFO] [stderr]     Checking oxipng v8.0.0
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]     Checking br-file v0.0.1
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking xml2json-rs v1.0.1
[INFO] [stderr]     Checking br-http v0.0.13
[INFO] [stderr]     Checking br-oss v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variants `POST` and `OPTIONS` are never constructed
[INFO] [stdout]   --> src/mode/aliyun.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Method {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     POST,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     OPTIONS,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Method` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:67:83
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let signature = br_crypto::hmac::sha1_code(self.access_key_secret.as_str().clone(), data.as_str().clone());
[INFO] [stdout]    |                                                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:67:106
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let signature = br_crypto::hmac::sha1_code(self.access_key_secret.as_str().clone(), data.as_str().clone());
[INFO] [stdout]    |                                                                                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:77:55
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut http = br_http::Http::url(url.as_str().clone());
[INFO] [stdout]    |                                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 |         http.authorization(auth_token.as_str().clone());
[INFO] [stdout]    |                                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:79:55
[INFO] [stdout]    |
[INFO] [stdout] 79 |         http.set_headers("date", datetime_gmt.as_str().clone());
[INFO] [stdout]    |                                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:80:92
[INFO] [stdout]    |
[INFO] [stdout] 80 |         http.set_headers("host", format!("{}.{}", self.bucket_name, self.endpoint).as_str().clone());
[INFO] [stdout]    |                                                                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:113:83
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let signature = br_crypto::hmac::sha1_code(self.access_key_secret.as_str().clone(), data.as_str().clone());
[INFO] [stdout]     |                                                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:113:106
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let signature = br_crypto::hmac::sha1_code(self.access_key_secret.as_str().clone(), data.as_str().clone());
[INFO] [stdout]     |                                                                                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:123:55
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut http = br_http::Http::url(url.as_str().clone());
[INFO] [stdout]     |                                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:124:47
[INFO] [stdout]     |
[INFO] [stdout] 124 |         http.authorization(auth_token.as_str().clone());
[INFO] [stdout]     |                                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:125:55
[INFO] [stdout]     |
[INFO] [stdout] 125 |         http.set_headers("date", datetime_gmt.as_str().clone());
[INFO] [stdout]     |                                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:126:92
[INFO] [stdout]     |
[INFO] [stdout] 126 |         http.set_headers("host", format!("{}.{}", self.bucket_name, self.endpoint).as_str().clone());
[INFO] [stdout]     |                                                                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:137:102
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let data = self._api(Method::PUT, object! {}, data.clone().into(), md5.clone().as_str(), path.clone());
[INFO] [stdout]     |                                                                                                      ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:155:85
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let data = self._api(Method::DELETE, object! {}, object! {}.into(), name, "".clone());
[INFO] [stdout]     |                                                                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `POST` and `OPTIONS` are never constructed
[INFO] [stdout]   --> src/mode/aliyun.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Method {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     POST,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     OPTIONS,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Method` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:67:83
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let signature = br_crypto::hmac::sha1_code(self.access_key_secret.as_str().clone(), data.as_str().clone());
[INFO] [stdout]    |                                                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:67:106
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let signature = br_crypto::hmac::sha1_code(self.access_key_secret.as_str().clone(), data.as_str().clone());
[INFO] [stdout]    |                                                                                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:77:55
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut http = br_http::Http::url(url.as_str().clone());
[INFO] [stdout]    |                                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 |         http.authorization(auth_token.as_str().clone());
[INFO] [stdout]    |                                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:79:55
[INFO] [stdout]    |
[INFO] [stdout] 79 |         http.set_headers("date", datetime_gmt.as_str().clone());
[INFO] [stdout]    |                                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/mode/aliyun.rs:80:92
[INFO] [stdout]    |
[INFO] [stdout] 80 |         http.set_headers("host", format!("{}.{}", self.bucket_name, self.endpoint).as_str().clone());
[INFO] [stdout]    |                                                                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:113:83
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let signature = br_crypto::hmac::sha1_code(self.access_key_secret.as_str().clone(), data.as_str().clone());
[INFO] [stdout]     |                                                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:113:106
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let signature = br_crypto::hmac::sha1_code(self.access_key_secret.as_str().clone(), data.as_str().clone());
[INFO] [stdout]     |                                                                                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:123:55
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut http = br_http::Http::url(url.as_str().clone());
[INFO] [stdout]     |                                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:124:47
[INFO] [stdout]     |
[INFO] [stdout] 124 |         http.authorization(auth_token.as_str().clone());
[INFO] [stdout]     |                                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:125:55
[INFO] [stdout]     |
[INFO] [stdout] 125 |         http.set_headers("date", datetime_gmt.as_str().clone());
[INFO] [stdout]     |                                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:126:92
[INFO] [stdout]     |
[INFO] [stdout] 126 |         http.set_headers("host", format!("{}.{}", self.bucket_name, self.endpoint).as_str().clone());
[INFO] [stdout]     |                                                                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:137:102
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let data = self._api(Method::PUT, object! {}, data.clone().into(), md5.clone().as_str(), path.clone());
[INFO] [stdout]     |                                                                                                      ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mode/aliyun.rs:155:85
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let data = self._api(Method::DELETE, object! {}, object! {}.into(), name, "".clone());
[INFO] [stdout]     |                                                                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.90s
[INFO] running `Command { std: "docker" "inspect" "8d49965938271ce15b548ca010eeca44a4e28abcb9c6ee5be6dec8a863e51d10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d49965938271ce15b548ca010eeca44a4e28abcb9c6ee5be6dec8a863e51d10", kill_on_drop: false }`
[INFO] [stdout] 8d49965938271ce15b548ca010eeca44a4e28abcb9c6ee5be6dec8a863e51d10
