[INFO] cloning repository https://github.com/wencesbc/clouding-rdp-rule-updater
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wencesbc/clouding-rdp-rule-updater" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwencesbc%2Fclouding-rdp-rule-updater", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwencesbc%2Fclouding-rdp-rule-updater'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3ac64df25e17302a3f91578086d487e8676e7394
[INFO] checking wencesbc/clouding-rdp-rule-updater against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwencesbc%2Fclouding-rdp-rule-updater" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wencesbc/clouding-rdp-rule-updater
[INFO] finished tweaking git repo https://github.com/wencesbc/clouding-rdp-rule-updater
[INFO] tweaked toml for git repo https://github.com/wencesbc/clouding-rdp-rule-updater written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wencesbc/clouding-rdp-rule-updater on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wencesbc/clouding-rdp-rule-updater 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cc v1.0.97
[INFO] [stderr]   Downloaded security-framework-sys v2.11.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.82
[INFO] [stderr]   Downloaded fs v0.0.5
[INFO] [stderr]   Downloaded serde-hjson v0.9.1
[INFO] [stderr]   Downloaded config v0.11.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.102
[INFO] [stderr]   Downloaded security-framework v2.11.0
[INFO] [stderr]   Downloaded tempfile v3.10.1
[INFO] [stderr]   Downloaded nom v5.1.3
[INFO] [stderr]   Downloaded syn v2.0.61
[INFO] [stderr]   Downloaded openssl v0.10.64
[INFO] [stderr]   Downloaded libc v0.2.154
[INFO] [stderr]   Downloaded openssl-src v300.2.3+3.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7531f78187b3cad2879b7b28a34dd2c7002076275643c8e4df1ace0a84e918e3
[INFO] running `Command { std: "docker" "start" "-a" "7531f78187b3cad2879b7b28a34dd2c7002076275643c8e4df1ace0a84e918e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7531f78187b3cad2879b7b28a34dd2c7002076275643c8e4df1ace0a84e918e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7531f78187b3cad2879b7b28a34dd2c7002076275643c8e4df1ace0a84e918e3", kill_on_drop: false }`
[INFO] [stdout] 7531f78187b3cad2879b7b28a34dd2c7002076275643c8e4df1ace0a84e918e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5ec709a50631176218cf71957e7da13cf85666000a2c0df9b3c71fbb2849fa24
[INFO] running `Command { std: "docker" "start" "-a" "5ec709a50631176218cf71957e7da13cf85666000a2c0df9b3c71fbb2849fa24", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.82
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling cc v1.0.97
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]    Compiling serde v1.0.201
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.61
[INFO] [stderr]    Compiling openssl-src v300.2.3+3.2.1
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking serde v0.8.23
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking rust-ini v0.13.0
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking parking_lot v0.12.2
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.201
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking serde-hjson v0.9.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking config v0.11.0
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking clouding-rdp-rule-updater v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `args`
[INFO] [stdout]  --> src/main.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env::{self, args};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]  --> src/clouding_api_client.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{error::Error, vec};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/clouding_api_client.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 123 |             if (rule.portRangeMax == Some(3389) && rule.portRangeMin == Some(3389)) {
[INFO] [stdout]     |                ^                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -             if (rule.portRangeMax == Some(3389) && rule.portRangeMin == Some(3389)) {
[INFO] [stdout] 123 +             if rule.portRangeMax == Some(3389) && rule.portRangeMin == Some(3389)  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/clouding_api_client.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Ok((counter))
[INFO] [stdout]     |            ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 -         Ok((counter))
[INFO] [stdout] 145 +         Ok(counter )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/getip_api_client.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]  --> src/getip_api_client.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{error::Error, vec};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `args`
[INFO] [stdout]  --> src/main.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env::{self, args};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]  --> src/clouding_api_client.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{error::Error, vec};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/clouding_api_client.rs:123:16
[INFO] [stdout]     |
[INFO] [stdout] 123 |             if (rule.portRangeMax == Some(3389) && rule.portRangeMin == Some(3389)) {
[INFO] [stdout]     |                ^                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -             if (rule.portRangeMax == Some(3389) && rule.portRangeMin == Some(3389)) {
[INFO] [stdout] 123 +             if rule.portRangeMax == Some(3389) && rule.portRangeMin == Some(3389)  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/clouding_api_client.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 |         Ok((counter))
[INFO] [stdout]     |            ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 -         Ok((counter))
[INFO] [stdout] 145 +         Ok(counter )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/getip_api_client.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]  --> src/getip_api_client.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{error::Error, vec};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/main.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut api_client;
[INFO] [stdout]   |         ----^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut firewall_name;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut new_ip: String;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Server` is never constructed
[INFO] [stdout]  --> src/clouding_api_client.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Server {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetServersResponse` is never constructed
[INFO] [stdout]   --> src/clouding_api_client.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct GetServersResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `description` is never read
[INFO] [stdout]   --> src/clouding_api_client.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Firewall {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     description: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Firewall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `protocol`, `description`, `sourceIp`, and `enabled` are never read
[INFO] [stdout]   --> src/clouding_api_client.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct FirewallRule {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 30 |     id: String,
[INFO] [stdout] 31 |     protocol: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 32 |     description: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     sourceIp: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     enabled: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FirewallRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteRuleResponse` is never constructed
[INFO] [stdout]   --> src/clouding_api_client.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct DeleteRuleResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_server_id_by_name` is never used
[INFO] [stdout]   --> src/clouding_api_client.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl CloudingApiClient {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub async fn get_server_id_by_name(&self, server_name: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/clouding_api_client.rs:193:10
[INFO] [stdout]     |
[INFO] [stdout] 193 | async fn main() {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `portRangeMin` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     portRangeMin: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `port_range_min`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `portRangeMax` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     portRangeMax: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `port_range_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sourceIp` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     sourceIp: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `source_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `traceId` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     traceId: Option<String>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `trace_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sourceIp` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     sourceIp: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `source_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `portRangeMin` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     portRangeMin: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `port_range_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `portRangeMax` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     portRangeMax: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `port_range_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseTCP` should have a snake case name
[INFO] [stdout]    --> src/clouding_api_client.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let responseTCP = self
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `response_tcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseUDP` should have a snake case name
[INFO] [stdout]    --> src/clouding_api_client.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let responseUDP = self
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `response_udp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ipResponse` should have a snake case name
[INFO] [stdout]   --> src/getip_api_client.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let ipResponse = response.json::<GetIpResponse>().await?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `ip_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/main.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut api_client;
[INFO] [stdout]   |         ----^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut firewall_name;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut new_ip: String;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Server` is never constructed
[INFO] [stdout]  --> src/clouding_api_client.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Server {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetServersResponse` is never constructed
[INFO] [stdout]   --> src/clouding_api_client.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct GetServersResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `description` is never read
[INFO] [stdout]   --> src/clouding_api_client.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Firewall {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     description: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Firewall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `protocol`, `description`, `sourceIp`, and `enabled` are never read
[INFO] [stdout]   --> src/clouding_api_client.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct FirewallRule {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 30 |     id: String,
[INFO] [stdout] 31 |     protocol: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 32 |     description: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     sourceIp: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     enabled: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FirewallRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteRuleResponse` is never constructed
[INFO] [stdout]   --> src/clouding_api_client.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct DeleteRuleResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_server_id_by_name` is never used
[INFO] [stdout]   --> src/clouding_api_client.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl CloudingApiClient {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub async fn get_server_id_by_name(&self, server_name: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/clouding_api_client.rs:193:10
[INFO] [stdout]     |
[INFO] [stdout] 193 | async fn main() {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `portRangeMin` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     portRangeMin: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `port_range_min`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `portRangeMax` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     portRangeMax: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `port_range_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sourceIp` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     sourceIp: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `source_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `traceId` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     traceId: Option<String>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `trace_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sourceIp` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     sourceIp: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `source_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `portRangeMin` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     portRangeMin: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `port_range_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `portRangeMax` should have a snake case name
[INFO] [stdout]   --> src/clouding_api_client.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     portRangeMax: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `port_range_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseTCP` should have a snake case name
[INFO] [stdout]    --> src/clouding_api_client.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let responseTCP = self
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `response_tcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseUDP` should have a snake case name
[INFO] [stdout]    --> src/clouding_api_client.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let responseUDP = self
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `response_udp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ipResponse` should have a snake case name
[INFO] [stdout]   --> src/getip_api_client.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let ipResponse = response.json::<GetIpResponse>().await?;
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `ip_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 19s
[INFO] running `Command { std: "docker" "inspect" "5ec709a50631176218cf71957e7da13cf85666000a2c0df9b3c71fbb2849fa24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ec709a50631176218cf71957e7da13cf85666000a2c0df9b3c71fbb2849fa24", kill_on_drop: false }`
[INFO] [stdout] 5ec709a50631176218cf71957e7da13cf85666000a2c0df9b3c71fbb2849fa24
