[INFO] fetching crate alipay_sdk_rust 1.0.4...
[INFO] testing alipay_sdk_rust-1.0.4 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate alipay_sdk_rust 1.0.4 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate alipay_sdk_rust 1.0.4 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate alipay_sdk_rust 1.0.4
[INFO] finished tweaking crates.io crate alipay_sdk_rust 1.0.4
[INFO] tweaked toml for crates.io crate alipay_sdk_rust 1.0.4 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 138 packages to latest compatible versions
[INFO] [stderr]       Adding asn1-rs v0.5.2 (latest: v0.6.1)
[INFO] [stderr]       Adding asn1-rs-derive v0.4.0 (latest: v0.5.0)
[INFO] [stderr]       Adding asn1-rs-impl v0.1.0 (latest: v0.2.0)
[INFO] [stderr]       Adding base64 v0.13.1 (latest: v0.22.1)
[INFO] [stderr]       Adding const-oid v0.7.1 (latest: v0.9.6)
[INFO] [stderr]       Adding crypto-bigint v0.3.2 (latest: v0.5.5)
[INFO] [stderr]       Adding darling v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding darling_core v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding darling_macro v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding der v0.5.1 (latest: v0.7.9)
[INFO] [stderr]       Adding der-parser v8.2.0 (latest: v9.0.0)
[INFO] [stderr]       Adding generic-array v0.14.7 (latest: v1.0.0)
[INFO] [stderr]       Adding itertools v0.12.1 (latest: v0.13.0)
[INFO] [stderr]       Adding linux-raw-sys v0.4.14 (latest: v0.6.4)
[INFO] [stderr]       Adding oid-registry v0.6.1 (latest: v0.7.0)
[INFO] [stderr]       Adding pem-rfc7468 v0.3.1 (latest: v0.7.0)
[INFO] [stderr]       Adding pkcs1 v0.3.3 (latest: v0.7.5)
[INFO] [stderr]       Adding pkcs8 v0.8.0 (latest: v0.10.2)
[INFO] [stderr]       Adding rsa v0.6.1 (latest: v0.9.6)
[INFO] [stderr]       Adding serde_with v1.14.0 (latest: v3.8.1)
[INFO] [stderr]       Adding serde_with_macros v1.5.2 (latest: v3.8.1)
[INFO] [stderr]       Adding spin v0.5.2 (latest: v0.9.8)
[INFO] [stderr]       Adding spki v0.5.4 (latest: v0.7.3)
[INFO] [stderr]       Adding strsim v0.10.0 (latest: v0.11.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.66)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] [stderr]       Adding which v4.4.2 (latest: v6.0.1)
[INFO] [stderr]       Adding x509-parser v0.14.0 (latest: v0.16.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gostd_time v1.0.9
[INFO] [stderr]   Downloaded gostd_derive v0.0.3
[INFO] [stderr]   Downloaded gostd_builtin v1.0.4
[INFO] [stderr]   Downloaded gostd v0.3.16
[INFO] [stderr]   Downloaded cvt v0.1.2
[INFO] [stderr]   Downloaded der-parser v8.2.0
[INFO] [stderr]   Downloaded asn1-rs v0.5.2
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0b8f2019a4a6d597edbcd4d90e44f599414b30aa4ec49c67118f6464cb1d9434
[INFO] running `Command { std: "docker" "start" "-a" "0b8f2019a4a6d597edbcd4d90e44f599414b30aa4ec49c67118f6464cb1d9434", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b8f2019a4a6d597edbcd4d90e44f599414b30aa4ec49c67118f6464cb1d9434", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b8f2019a4a6d597edbcd4d90e44f599414b30aa4ec49c67118f6464cb1d9434", kill_on_drop: false }`
[INFO] [stdout] 0b8f2019a4a6d597edbcd4d90e44f599414b30aa4ec49c67118f6464cb1d9434
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 20f643367134dcc914842bb4322a31fb9ef9f2c7046a6356423caf111059fa57
[INFO] running `Command { std: "docker" "start" "-a" "20f643367134dcc914842bb4322a31fb9ef9f2c7046a6356423caf111059fa57", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.4
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aws-lc-rs v1.7.2
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling base64ct v1.6.0
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling crypto-bigint v0.3.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling const-oid v0.7.1
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling rustls-pki-types v1.7.0
[INFO] [stderr]    Compiling mirai-annotations v1.12.0
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling pem-rfc7468 v0.3.1
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling oid-registry v0.6.1
[INFO] [stderr]    Compiling rustls v0.23.8
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cvt v0.1.2
[INFO] [stderr]    Compiling gostd_builtin v1.0.4
[INFO] [stderr]    Compiling webpki-roots v0.26.1
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling data-encoding v2.6.0
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling der v0.5.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling spki v0.5.4
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling jobserver v0.1.31
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling cc v1.0.98
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rusticata-macros v4.1.0
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling aws-lc-sys v0.17.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling serde_derive v1.0.202
[INFO] [stderr]    Compiling uuid-macro-internal v1.8.0
[INFO] [stderr]    Compiling asn1-rs-impl v0.1.0
[INFO] [stderr]    Compiling asn1-rs-derive v0.4.0
[INFO] [stderr]    Compiling gostd_derive v0.0.3
[INFO] [stderr]    Compiling uuid v1.8.0
[INFO] [stderr]    Compiling zeroize v1.7.0
[INFO] [stderr]    Compiling pkcs8 v0.8.0
[INFO] [stderr]    Compiling gostd_time v1.0.9
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling pkcs1 v0.3.3
[INFO] [stderr]    Compiling asn1-rs v0.5.2
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling rsa v0.6.1
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]    Compiling der-parser v8.2.0
[INFO] [stderr]    Compiling serde v1.0.202
[INFO] [stderr]    Compiling x509-parser v0.14.0
[INFO] [stderr]    Compiling serde_with v1.14.0
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling rustls-webpki v0.102.4
[INFO] [stderr]    Compiling gostd v0.3.16
[INFO] [stderr]    Compiling alipay_sdk_rust v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `trade_app_pay::*`
[INFO] [stdout]   --> src/biz/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use trade_app_pay::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:451:64
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 let mut request = Request::new_with_config(self.borrow());
[INFO] [stdout]     |                                                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 451 -                 let mut request = Request::new_with_config(self.borrow());
[INFO] [stdout] 451 +                 let mut request = Request::new_with_config(self);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:466:57
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let encode_query = Request::new_with_config(self.borrow())
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 466 -         let encode_query = Request::new_with_config(self.borrow())
[INFO] [stdout] 466 +         let encode_query = Request::new_with_config(self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:483:63
[INFO] [stdout]     |
[INFO] [stdout] 483 |         let client_sdk_request = Request::new_with_config(self.borrow())
[INFO] [stdout]     |                                                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 483 -         let client_sdk_request = Request::new_with_config(self.borrow())
[INFO] [stdout] 483 +         let client_sdk_request = Request::new_with_config(self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/request.rs:55:43
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let v = serde_json::to_string(self.borrow())?;
[INFO] [stdout]    |                                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `request::Request` does not implement `Borrow`, so calling `borrow` on `&request::Request` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 55 -         let v = serde_json::to_string(self.borrow())?;
[INFO] [stdout] 55 +         let v = serde_json::to_string(self)?;
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `request::Request`, implement `Clone` for it
[INFO] [stdout]    |
[INFO] [stdout] 28 + #[derive(Clone)]
[INFO] [stdout] 29 | pub struct Request {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     buf.WriteString("<form name=\"alipaysubmit\" method=\"post\" action=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let _ = buf.WriteString("<form name=\"alipaysubmit\" method=\"post\" action=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     buf.WriteString(base_url);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = buf.WriteString(base_url);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     buf.WriteString("?charset=utf-8");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let _ = buf.WriteString("?charset=utf-8");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     buf.WriteString("\">\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = buf.WriteString("\">\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     buf.WriteString(&build_hidden_fields(parameters));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _ = buf.WriteString(&build_hidden_fields(parameters));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     buf.WriteString("<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let _ = buf.WriteString("<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     buf.WriteString("</form>\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let _ = buf.WriteString("</form>\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     buf.WriteString("<script>document.forms['alipaysubmit'].submit();</script>");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = buf.WriteString("<script>document.forms['alipaysubmit'].submit();</script>");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         buf.WriteString(&build_hidden_field(key, value));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let _ = buf.WriteString(&build_hidden_field(key, value));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     buf.WriteString("<input type=\"hidden\" name=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let _ = buf.WriteString("<input type=\"hidden\" name=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     buf.WriteString(key);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = buf.WriteString(key);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     buf.WriteString("\" value=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = buf.WriteString("\" value=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     buf.WriteString(&a);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let _ = buf.WriteString(&a);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     buf.WriteString("\">\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let _ = buf.WriteString("\">\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.50s
[INFO] running `Command { std: "docker" "inspect" "20f643367134dcc914842bb4322a31fb9ef9f2c7046a6356423caf111059fa57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20f643367134dcc914842bb4322a31fb9ef9f2c7046a6356423caf111059fa57", kill_on_drop: false }`
[INFO] [stdout] 20f643367134dcc914842bb4322a31fb9ef9f2c7046a6356423caf111059fa57
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3b69bcd49a317d96fff4d3a5a0c7877aba5b2b721bf3409dc87f72a281203e01
[INFO] running `Command { std: "docker" "start" "-a" "3b69bcd49a317d96fff4d3a5a0c7877aba5b2b721bf3409dc87f72a281203e01", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `trade_app_pay::*`
[INFO] [stdout]   --> src/biz/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use trade_app_pay::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:451:64
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 let mut request = Request::new_with_config(self.borrow());
[INFO] [stdout]     |                                                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 451 -                 let mut request = Request::new_with_config(self.borrow());
[INFO] [stdout] 451 +                 let mut request = Request::new_with_config(self);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:466:57
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let encode_query = Request::new_with_config(self.borrow())
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 466 -         let encode_query = Request::new_with_config(self.borrow())
[INFO] [stdout] 466 +         let encode_query = Request::new_with_config(self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:483:63
[INFO] [stdout]     |
[INFO] [stdout] 483 |         let client_sdk_request = Request::new_with_config(self.borrow())
[INFO] [stdout]     |                                                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 483 -         let client_sdk_request = Request::new_with_config(self.borrow())
[INFO] [stdout] 483 +         let client_sdk_request = Request::new_with_config(self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/request.rs:55:43
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let v = serde_json::to_string(self.borrow())?;
[INFO] [stdout]    |                                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `request::Request` does not implement `Borrow`, so calling `borrow` on `&request::Request` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 55 -         let v = serde_json::to_string(self.borrow())?;
[INFO] [stdout] 55 +         let v = serde_json::to_string(self)?;
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `request::Request`, implement `Clone` for it
[INFO] [stdout]    |
[INFO] [stdout] 28 + #[derive(Clone)]
[INFO] [stdout] 29 | pub struct Request {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     buf.WriteString("<form name=\"alipaysubmit\" method=\"post\" action=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let _ = buf.WriteString("<form name=\"alipaysubmit\" method=\"post\" action=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling alipay_sdk_rust v1.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     buf.WriteString(base_url);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = buf.WriteString(base_url);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     buf.WriteString("?charset=utf-8");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let _ = buf.WriteString("?charset=utf-8");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     buf.WriteString("\">\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = buf.WriteString("\">\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     buf.WriteString(&build_hidden_fields(parameters));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _ = buf.WriteString(&build_hidden_fields(parameters));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     buf.WriteString("<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let _ = buf.WriteString("<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     buf.WriteString("</form>\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let _ = buf.WriteString("</form>\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     buf.WriteString("<script>document.forms['alipaysubmit'].submit();</script>");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = buf.WriteString("<script>document.forms['alipaysubmit'].submit();</script>");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         buf.WriteString(&build_hidden_field(key, value));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let _ = buf.WriteString(&build_hidden_field(key, value));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     buf.WriteString("<input type=\"hidden\" name=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let _ = buf.WriteString("<input type=\"hidden\" name=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     buf.WriteString(key);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = buf.WriteString(key);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     buf.WriteString("\" value=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = buf.WriteString("\" value=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     buf.WriteString(&a);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let _ = buf.WriteString(&a);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     buf.WriteString("\">\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let _ = buf.WriteString("\">\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trade_app_pay::*`
[INFO] [stdout]   --> src/biz/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use trade_app_pay::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:451:64
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 let mut request = Request::new_with_config(self.borrow());
[INFO] [stdout]     |                                                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 451 -                 let mut request = Request::new_with_config(self.borrow());
[INFO] [stdout] 451 +                 let mut request = Request::new_with_config(self);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:466:57
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let encode_query = Request::new_with_config(self.borrow())
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 466 -         let encode_query = Request::new_with_config(self.borrow())
[INFO] [stdout] 466 +         let encode_query = Request::new_with_config(self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/pay.rs:483:63
[INFO] [stdout]     |
[INFO] [stdout] 483 |         let client_sdk_request = Request::new_with_config(self.borrow())
[INFO] [stdout]     |                                                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 483 -         let client_sdk_request = Request::new_with_config(self.borrow())
[INFO] [stdout] 483 +         let client_sdk_request = Request::new_with_config(self)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 79  + #[derive(Clone)]
[INFO] [stdout] 80  | pub struct PayClient {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/request.rs:55:43
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let v = serde_json::to_string(self.borrow())?;
[INFO] [stdout]    |                                           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `request::Request` does not implement `Borrow`, so calling `borrow` on `&request::Request` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 55 -         let v = serde_json::to_string(self.borrow())?;
[INFO] [stdout] 55 +         let v = serde_json::to_string(self)?;
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `request::Request`, implement `Clone` for it
[INFO] [stdout]    |
[INFO] [stdout] 28 + #[derive(Clone)]
[INFO] [stdout] 29 | pub struct Request {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     buf.WriteString("<form name=\"alipaysubmit\" method=\"post\" action=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let _ = buf.WriteString("<form name=\"alipaysubmit\" method=\"post\" action=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     buf.WriteString(base_url);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = buf.WriteString(base_url);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     buf.WriteString("?charset=utf-8");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let _ = buf.WriteString("?charset=utf-8");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     buf.WriteString("\">\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = buf.WriteString("\">\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     buf.WriteString(&build_hidden_fields(parameters));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _ = buf.WriteString(&build_hidden_fields(parameters));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     buf.WriteString("<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let _ = buf.WriteString("<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     buf.WriteString("</form>\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let _ = buf.WriteString("</form>\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     buf.WriteString("<script>document.forms['alipaysubmit'].submit();</script>");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = buf.WriteString("<script>document.forms['alipaysubmit'].submit();</script>");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         buf.WriteString(&build_hidden_field(key, value));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let _ = buf.WriteString(&build_hidden_field(key, value));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     buf.WriteString("<input type=\"hidden\" name=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let _ = buf.WriteString("<input type=\"hidden\" name=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     buf.WriteString(key);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = buf.WriteString(key);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     buf.WriteString("\" value=\"");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = buf.WriteString("\" value=\"");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     buf.WriteString(&a);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let _ = buf.WriteString(&a);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/util.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     buf.WriteString("\">\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let _ = buf.WriteString("\">\n");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.48s
[INFO] running `Command { std: "docker" "inspect" "3b69bcd49a317d96fff4d3a5a0c7877aba5b2b721bf3409dc87f72a281203e01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b69bcd49a317d96fff4d3a5a0c7877aba5b2b721bf3409dc87f72a281203e01", kill_on_drop: false }`
[INFO] [stdout] 3b69bcd49a317d96fff4d3a5a0c7877aba5b2b721bf3409dc87f72a281203e01
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 99aaf02b3e962d6714033c162bb69510a5ffb067de34fb8044df3bcada92b372
[INFO] running `Command { std: "docker" "start" "-a" "99aaf02b3e962d6714033c162bb69510a5ffb067de34fb8044df3bcada92b372", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `trade_app_pay::*`
[INFO] [stderr]   --> src/biz/mod.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub use trade_app_pay::*;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/pay.rs:451:64
[INFO] [stderr]     |
[INFO] [stderr] 451 |                 let mut request = Request::new_with_config(self.borrow());
[INFO] [stderr]     |                                                                ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 451 -                 let mut request = Request::new_with_config(self.borrow());
[INFO] [stderr] 451 +                 let mut request = Request::new_with_config(self);
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr] 79  + #[derive(Clone)]
[INFO] [stderr] 80  | pub struct PayClient {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/pay.rs:466:57
[INFO] [stderr]     |
[INFO] [stderr] 466 |         let encode_query = Request::new_with_config(self.borrow())
[INFO] [stderr]     |                                                         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 466 -         let encode_query = Request::new_with_config(self.borrow())
[INFO] [stderr] 466 +         let encode_query = Request::new_with_config(self)
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr] 79  + #[derive(Clone)]
[INFO] [stderr] 80  | pub struct PayClient {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/pay.rs:483:63
[INFO] [stderr]     |
[INFO] [stderr] 483 |         let client_sdk_request = Request::new_with_config(self.borrow())
[INFO] [stderr]     |                                                               ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `PayClient` does not implement `Borrow`, so calling `borrow` on `&PayClient` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 483 -         let client_sdk_request = Request::new_with_config(self.borrow())
[INFO] [stderr] 483 +         let client_sdk_request = Request::new_with_config(self)
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `PayClient`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr] 79  + #[derive(Clone)]
[INFO] [stderr] 80  | pub struct PayClient {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/request.rs:55:43
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let v = serde_json::to_string(self.borrow())?;
[INFO] [stderr]    |                                           ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `request::Request` does not implement `Borrow`, so calling `borrow` on `&request::Request` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr] 55 -         let v = serde_json::to_string(self.borrow())?;
[INFO] [stderr] 55 +         let v = serde_json::to_string(self)?;
[INFO] [stderr]    |
[INFO] [stderr] help: if you meant to clone `request::Request`, implement `Clone` for it
[INFO] [stderr]    |
[INFO] [stderr] 28 + #[derive(Clone)]
[INFO] [stderr] 29 | pub struct Request {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     buf.WriteString("<form name=\"alipaysubmit\" method=\"post\" action=\"");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let _ = buf.WriteString("<form name=\"alipaysubmit\" method=\"post\" action=\"");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     buf.WriteString(base_url);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let _ = buf.WriteString(base_url);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     buf.WriteString("?charset=utf-8");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let _ = buf.WriteString("?charset=utf-8");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     buf.WriteString("\">\n");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 37 |     let _ = buf.WriteString("\">\n");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     buf.WriteString(&build_hidden_fields(parameters));
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 38 |     let _ = buf.WriteString(&build_hidden_fields(parameters));
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     buf.WriteString("<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 39 |     let _ = buf.WriteString("<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 |     buf.WriteString("</form>\n");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 40 |     let _ = buf.WriteString("</form>\n");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 |     buf.WriteString("<script>document.forms['alipaysubmit'].submit();</script>");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 41 |     let _ = buf.WriteString("<script>document.forms['alipaysubmit'].submit();</script>");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 |         buf.WriteString(&build_hidden_field(key, value));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 54 |         let _ = buf.WriteString(&build_hidden_field(key, value));
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 |     buf.WriteString("<input type=\"hidden\" name=\"");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let _ = buf.WriteString("<input type=\"hidden\" name=\"");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     buf.WriteString(key);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 62 |     let _ = buf.WriteString(key);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 |     buf.WriteString("\" value=\"");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let _ = buf.WriteString("\" value=\"");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 |     buf.WriteString(&a);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let _ = buf.WriteString(&a);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/util.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 67 |     buf.WriteString("\">\n");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 67 |     let _ = buf.WriteString("\">\n");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `alipay_sdk_rust` (lib) generated 19 warnings (run `cargo fix --lib -p alipay_sdk_rust` to apply 5 suggestions)
[INFO] [stderr] warning: `alipay_sdk_rust` (lib test) generated 19 warnings (19 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/alipay_sdk_rust-ee4e7b75539f9ed2)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::trade_create_test::test_trade_create ... FAILED
[INFO] [stdout] test tests::sign_test::test_sign ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::trade_create_test::test_trade_create stdout ----
[INFO] [stdout] Error: Custom { kind: Uncategorized, error: "failed to lookup address information: Temporary failure in name resolution" }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::trade_create_test::test_trade_create
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "99aaf02b3e962d6714033c162bb69510a5ffb067de34fb8044df3bcada92b372", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "99aaf02b3e962d6714033c162bb69510a5ffb067de34fb8044df3bcada92b372", kill_on_drop: false }`
[INFO] [stdout] 99aaf02b3e962d6714033c162bb69510a5ffb067de34fb8044df3bcada92b372
