[INFO] cloning repository https://github.com/zhangkai803/jp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zhangkai803/jp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhangkai803%2Fjp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhangkai803%2Fjp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 170ec43b8326a808e65aa9e9a71417580001b994 [INFO] checking zhangkai803/jp against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhangkai803%2Fjp" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/zhangkai803/jp on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/zhangkai803/jp [INFO] finished tweaking git repo https://github.com/zhangkai803/jp [INFO] tweaked toml for git repo https://github.com/zhangkai803/jp written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/zhangkai803/jp 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 55d9bb1137869f93ae3e40fff3f85683163d58589ec57b73bce068f8d8843f4d [INFO] running `Command { std: "docker" "start" "-a" "55d9bb1137869f93ae3e40fff3f85683163d58589ec57b73bce068f8d8843f4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "55d9bb1137869f93ae3e40fff3f85683163d58589ec57b73bce068f8d8843f4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "55d9bb1137869f93ae3e40fff3f85683163d58589ec57b73bce068f8d8843f4d", kill_on_drop: false }` [INFO] [stdout] 55d9bb1137869f93ae3e40fff3f85683163d58589ec57b73bce068f8d8843f4d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 81d76beb690c84b3c8217d9b9ebd4b85cc69bc9e6cee04e9a348aad26fcfe54a [INFO] running `Command { std: "docker" "start" "-a" "81d76beb690c84b3c8217d9b9ebd4b85cc69bc9e6cee04e9a348aad26fcfe54a", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Checking once_cell v1.18.0 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Checking bytes v1.5.0 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Checking itoa v1.0.9 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Checking tracing-core v0.1.31 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking http v0.2.9 [INFO] [stderr] Checking bitflags v2.4.0 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking socket2 v0.5.4 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Checking percent-encoding v2.3.0 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking try-lock v0.2.4 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking anstyle-parse v0.2.1 [INFO] [stderr] Checking http-body v0.4.5 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking form_urlencoded v1.2.0 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Checking ryu v1.0.15 [INFO] [stderr] Checking anstyle-query v1.0.0 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking anstyle v1.0.3 [INFO] [stderr] Checking unicode-bidi v0.3.13 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Compiling serde_json v1.0.107 [INFO] [stderr] Checking anstream v0.5.0 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking clap_lex v0.5.1 [INFO] [stderr] Checking encoding_rs v0.8.33 [INFO] [stderr] Checking base64 v0.21.4 [INFO] [stderr] Checking idna v0.4.0 [INFO] [stderr] Checking ipnet v2.8.0 [INFO] [stderr] Checking clap_builder v4.4.4 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Compiling openssl-sys v0.9.93 [INFO] [stderr] Checking url v2.4.1 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling clap_derive v4.4.2 [INFO] [stderr] Checking tokio v1.32.0 [INFO] [stderr] Checking clap v4.4.4 [INFO] [stderr] Checking tokio-util v0.7.9 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking h2 v0.3.21 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking hyper v0.14.27 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.20 [INFO] [stderr] Checking jp v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> src/main.rs:2:46 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{time::{SystemTime, Duration}, env, collections::HashMap}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `serde_json` is imported redundantly [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ the item `serde_json` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> src/main.rs:2:46 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{time::{SystemTime, Duration}, env, collections::HashMap}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `serde_json` is imported redundantly [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ the item `serde_json` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> src/main.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let secret_key = env::var("TENCENTCLOUD_SECRET_KEY").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CanonicalRequest` [INFO] [stdout] --> src/main.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let CanonicalRequest = format!("{HTTPRequestMethod}\n{CanonicalURI}\n{CanonicalQueryString}\n{CanonicalHeaders}\n{SignedHeaders}\n{Ha... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_CanonicalRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `StringToSign` [INFO] [stdout] --> src/main.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let StringToSign = format!("{Algorithm}\n{RequestTimestamp}\n{CredentialScope}\n{HashedCanonicalRequest}"); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_StringToSign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/main.rs:84:32 [INFO] [stdout] | [INFO] [stdout] 84 | fn signature(payload: Request, now: Duration) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getCanonicalRequest` is never used [INFO] [stdout] --> src/main.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn getCanonicalRequest(payload: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getStringToSign` is never used [INFO] [stdout] --> src/main.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn getStringToSign() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SourceText` should have a snake case name [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | SourceText: String, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `source_text` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Source` should have a snake case name [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Source: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Target` should have a snake case name [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Target: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ProjectId` should have a snake case name [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | ProjectId: isize [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `project_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getCanonicalRequest` should have a snake case name [INFO] [stdout] --> src/main.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn getCanonicalRequest(payload: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_canonical_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HTTPRequestMethod` should have a snake case name [INFO] [stdout] --> src/main.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let HTTPRequestMethod = "POST"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `httprequest_method` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalURI` should have a snake case name [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | let CanonicalURI = "/"; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_uri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalQueryString` should have a snake case name [INFO] [stdout] --> src/main.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let CanonicalQueryString = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_query_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalHeaders` should have a snake case name [INFO] [stdout] --> src/main.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let CanonicalHeaders = format!("content-type:application/json; charset=utf-8\nhost:tmt.tencentcloudapi.com\nx-tc-action:TextTranslate... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SignedHeaders` should have a snake case name [INFO] [stdout] --> src/main.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let SignedHeaders = "content-type;host;x-tc-action".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `signed_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HashedRequestPayload` should have a snake case name [INFO] [stdout] --> src/main.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | let HashedRequestPayload = payload; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hashed_request_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getStringToSign` should have a snake case name [INFO] [stdout] --> src/main.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn getStringToSign() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_string_to_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Algorithm` should have a snake case name [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let Algorithm: &str = "TC3-HMAC-SHA256"; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `algorithm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `RequestTimestamp` should have a snake case name [INFO] [stdout] --> src/main.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let RequestTimestamp = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `request_timestamp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CredentialScope` should have a snake case name [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let CredentialScope = "//tc3_request"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `credential_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HashedCanonicalRequest` should have a snake case name [INFO] [stdout] --> src/main.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let HashedCanonicalRequest = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hashed_canonical_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HTTPRequestMethod` should have a snake case name [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let HTTPRequestMethod = "POST"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `httprequest_method` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalURI` should have a snake case name [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | let CanonicalURI = "/"; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_uri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalQueryString` should have a snake case name [INFO] [stdout] --> src/main.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let CanonicalQueryString = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_query_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalHeaders` should have a snake case name [INFO] [stdout] --> src/main.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let CanonicalHeaders = format!("content-type:application/json; charset=utf-8\nhost:tmt.tencentcloudapi.com\nx-tc-action:TextTranslate... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SignedHeaders` should have a snake case name [INFO] [stdout] --> src/main.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | let SignedHeaders = "content-type;host;x-tc-action".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `signed_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HashedRequestPayload` should have a snake case name [INFO] [stdout] --> src/main.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let HashedRequestPayload = serde_json::to_string(&payload).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hashed_request_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalRequest` should have a snake case name [INFO] [stdout] --> src/main.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let CanonicalRequest = format!("{HTTPRequestMethod}\n{CanonicalURI}\n{CanonicalQueryString}\n{CanonicalHeaders}\n{SignedHeaders}\n{Ha... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Algorithm` should have a snake case name [INFO] [stdout] --> src/main.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | let Algorithm: &str = "TC3-HMAC-SHA256"; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `algorithm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `RequestTimestamp` should have a snake case name [INFO] [stdout] --> src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let RequestTimestamp = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `request_timestamp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CredentialScope` should have a snake case name [INFO] [stdout] --> src/main.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let CredentialScope = "2023-10-11/tmt/tc3_request"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `credential_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HashedCanonicalRequest` should have a snake case name [INFO] [stdout] --> src/main.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let HashedCanonicalRequest = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hashed_canonical_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `StringToSign` should have a snake case name [INFO] [stdout] --> src/main.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let StringToSign = format!("{Algorithm}\n{RequestTimestamp}\n{CredentialScope}\n{HashedCanonicalRequest}"); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `string_to_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Signature` should have a snake case name [INFO] [stdout] --> src/main.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | let Signature = ""; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `signature` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> src/main.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let secret_key = env::var("TENCENTCLOUD_SECRET_KEY").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CanonicalRequest` [INFO] [stdout] --> src/main.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let CanonicalRequest = format!("{HTTPRequestMethod}\n{CanonicalURI}\n{CanonicalQueryString}\n{CanonicalHeaders}\n{SignedHeaders}\n{Ha... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_CanonicalRequest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `StringToSign` [INFO] [stdout] --> src/main.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let StringToSign = format!("{Algorithm}\n{RequestTimestamp}\n{CredentialScope}\n{HashedCanonicalRequest}"); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_StringToSign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/main.rs:84:32 [INFO] [stdout] | [INFO] [stdout] 84 | fn signature(payload: Request, now: Duration) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getCanonicalRequest` is never used [INFO] [stdout] --> src/main.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn getCanonicalRequest(payload: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getStringToSign` is never used [INFO] [stdout] --> src/main.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn getStringToSign() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SourceText` should have a snake case name [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | SourceText: String, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `source_text` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Source` should have a snake case name [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Source: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Target` should have a snake case name [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Target: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ProjectId` should have a snake case name [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | ProjectId: isize [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `project_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getCanonicalRequest` should have a snake case name [INFO] [stdout] --> src/main.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn getCanonicalRequest(payload: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_canonical_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HTTPRequestMethod` should have a snake case name [INFO] [stdout] --> src/main.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let HTTPRequestMethod = "POST"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `httprequest_method` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalURI` should have a snake case name [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | let CanonicalURI = "/"; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_uri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalQueryString` should have a snake case name [INFO] [stdout] --> src/main.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let CanonicalQueryString = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_query_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalHeaders` should have a snake case name [INFO] [stdout] --> src/main.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let CanonicalHeaders = format!("content-type:application/json; charset=utf-8\nhost:tmt.tencentcloudapi.com\nx-tc-action:TextTranslate... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SignedHeaders` should have a snake case name [INFO] [stdout] --> src/main.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let SignedHeaders = "content-type;host;x-tc-action".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `signed_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HashedRequestPayload` should have a snake case name [INFO] [stdout] --> src/main.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | let HashedRequestPayload = payload; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hashed_request_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getStringToSign` should have a snake case name [INFO] [stdout] --> src/main.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn getStringToSign() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_string_to_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Algorithm` should have a snake case name [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let Algorithm: &str = "TC3-HMAC-SHA256"; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `algorithm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `RequestTimestamp` should have a snake case name [INFO] [stdout] --> src/main.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let RequestTimestamp = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `request_timestamp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CredentialScope` should have a snake case name [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let CredentialScope = "//tc3_request"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `credential_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HashedCanonicalRequest` should have a snake case name [INFO] [stdout] --> src/main.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let HashedCanonicalRequest = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hashed_canonical_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HTTPRequestMethod` should have a snake case name [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let HTTPRequestMethod = "POST"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `httprequest_method` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalURI` should have a snake case name [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | let CanonicalURI = "/"; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_uri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalQueryString` should have a snake case name [INFO] [stdout] --> src/main.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let CanonicalQueryString = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_query_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalHeaders` should have a snake case name [INFO] [stdout] --> src/main.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let CanonicalHeaders = format!("content-type:application/json; charset=utf-8\nhost:tmt.tencentcloudapi.com\nx-tc-action:TextTranslate... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SignedHeaders` should have a snake case name [INFO] [stdout] --> src/main.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | let SignedHeaders = "content-type;host;x-tc-action".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `signed_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HashedRequestPayload` should have a snake case name [INFO] [stdout] --> src/main.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let HashedRequestPayload = serde_json::to_string(&payload).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hashed_request_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CanonicalRequest` should have a snake case name [INFO] [stdout] --> src/main.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let CanonicalRequest = format!("{HTTPRequestMethod}\n{CanonicalURI}\n{CanonicalQueryString}\n{CanonicalHeaders}\n{SignedHeaders}\n{Ha... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `canonical_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Algorithm` should have a snake case name [INFO] [stdout] --> src/main.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | let Algorithm: &str = "TC3-HMAC-SHA256"; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `algorithm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `RequestTimestamp` should have a snake case name [INFO] [stdout] --> src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let RequestTimestamp = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `request_timestamp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CredentialScope` should have a snake case name [INFO] [stdout] --> src/main.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let CredentialScope = "2023-10-11/tmt/tc3_request"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `credential_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HashedCanonicalRequest` should have a snake case name [INFO] [stdout] --> src/main.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let HashedCanonicalRequest = ""; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hashed_canonical_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `StringToSign` should have a snake case name [INFO] [stdout] --> src/main.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let StringToSign = format!("{Algorithm}\n{RequestTimestamp}\n{CredentialScope}\n{HashedCanonicalRequest}"); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `string_to_sign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Signature` should have a snake case name [INFO] [stdout] --> src/main.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | let Signature = ""; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `signature` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.30s [INFO] running `Command { std: "docker" "inspect" "81d76beb690c84b3c8217d9b9ebd4b85cc69bc9e6cee04e9a348aad26fcfe54a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81d76beb690c84b3c8217d9b9ebd4b85cc69bc9e6cee04e9a348aad26fcfe54a", kill_on_drop: false }` [INFO] [stdout] 81d76beb690c84b3c8217d9b9ebd4b85cc69bc9e6cee04e9a348aad26fcfe54a