[INFO] fetching crate acme_commander 0.1.2...
[INFO] checking acme_commander-0.1.2 against try#84addd32a13fa2d3f62fe5d99031611147b7fb13 for pr-147565-1
[INFO] extracting crate acme_commander 0.1.2 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate acme_commander 0.1.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate acme_commander 0.1.2
[INFO] tweaked toml for crates.io crate acme_commander 0.1.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate acme_commander 0.1.2 on toolchain 84addd32a13fa2d3f62fe5d99031611147b7fb13
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate acme_commander 0.1.2 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" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4af7592849a67b52c20a77f50a97eeb260dfc206d709b9c9f63b8bb2b978950e
[INFO] running `Command { std: "docker" "start" "-a" "4af7592849a67b52c20a77f50a97eeb260dfc206d709b9c9f63b8bb2b978950e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4af7592849a67b52c20a77f50a97eeb260dfc206d709b9c9f63b8bb2b978950e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4af7592849a67b52c20a77f50a97eeb260dfc206d709b9c9f63b8bb2b978950e", kill_on_drop: false }`
[INFO] [stdout] 4af7592849a67b52c20a77f50a97eeb260dfc206d709b9c9f63b8bb2b978950e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 414c00bb36f18224c6f471d6a197ccd21917505dbfade9588754ee3b3b39ed6b
[INFO] running `Command { std: "docker" "start" "-a" "414c00bb36f18224c6f471d6a197ccd21917505dbfade9588754ee3b3b39ed6b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.98
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling cc v1.2.33
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking bitflags v2.9.2
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking base64ct v1.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling globset v0.4.16
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling ignore v0.4.23
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling globwalk v0.8.1
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]    Compiling asn1-rs-impl v0.1.0
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling asn1-rs-derive v0.4.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling triomphe v0.1.14
[INFO] [stderr]     Checking serde_json v1.0.142
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking asn1-rs v0.5.2
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking hyper-util v0.1.16
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking raw-cpuid v11.5.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking unicode-width v0.2.1
[INFO] [stderr]     Checking unty v0.0.4
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]    Compiling normpath v1.5.0
[INFO] [stderr]    Compiling oid-registry v0.6.1
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling base62 v2.2.3
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]    Compiling rust-i18n-support v3.1.5
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking rustls-native-certs v0.7.3
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking quanta v0.12.6
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]    Compiling rust-i18n v3.1.5
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking spinning_top v0.3.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking nonzero_ext v0.3.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking no-std-compat v0.4.1
[INFO] [stderr]     Checking clap_lex v0.7.5
[INFO] [stderr]     Checking clap_builder v4.5.44
[INFO] [stderr]     Checking pem v3.0.5
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking governor v0.6.3
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking der-parser v8.2.0
[INFO] [stderr]    Compiling rstest_macros v0.18.2
[INFO] [stderr]    Compiling rust-i18n-macro v3.1.5
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking hyper-rustls v0.26.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rustls-native-certs v0.6.3
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking uuid v1.18.0
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking waker-fn v1.2.0
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking rcgen v0.12.1
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]     Checking x509-parser v0.15.1
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking serde_qs v0.8.5
[INFO] [stderr]     Checking clap v4.5.45
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking infer v0.2.3
[INFO] [stderr]     Checking lz4 v1.28.1
[INFO] [stderr]     Checking retain_mut v0.1.9
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking rat_logger v0.2.8
[INFO] [stderr]     Checking deadpool v0.9.5
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking colored v3.0.0
[INFO] [stderr]     Checking proptest v1.7.0
[INFO] [stderr]     Checking rat_quickdns v0.1.9
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking mockito v1.7.0
[INFO] [stderr]     Checking wiremock v0.5.22
[INFO] [stderr]     Checking rstest v0.18.2
[INFO] [stderr]     Checking acme_commander v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Metadata` and `Record`
[INFO] [stdout]   --> src/logger.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rat_logger::config::{Record, Metadata};
[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: `std::sync::Arc`
[INFO] [stdout]   --> src/logger.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]   --> src/logger.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use chrono::Local;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CryptoError`
[INFO] [stdout]   --> src/crypto/mod.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::error::{CryptoError, CryptoResult};
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ECDSA_P384_SHA384_FIXED_SIGNING` and `EcdsaKeyPair`
[INFO] [stdout]   --> src/crypto/mod.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::signature::{EcdsaKeyPair, ECDSA_P384_SHA384_FIXED_SIGNING};
[INFO] [stdout]    |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::rand::SystemRandom`
[INFO] [stdout]   --> src/crypto/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ring::rand::SystemRandom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/auth/cloudflare.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/acme/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Directory`
[INFO] [stdout]  --> src/acme/account.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::acme::{AcmeClient, Directory};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/acme/account.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AcmeError` and `AcmeResult`
[INFO] [stdout]  --> src/acme/authorization.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{AcmeError, AcmeResult};
[INFO] [stdout]   |                    ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> src/acme/authorization.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChallengeStatus`
[INFO] [stdout]   --> src/acme/authorization.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::challenge::{Challenge, ChallengeStatus};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/acme/certificate.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::time::OffsetDateTime`
[INFO] [stdout]   --> src/acme/certificate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ::time::OffsetDateTime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]  --> src/acme/challenge.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use reqwest::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> src/acme/challenge.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/acme/directory.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/acme/jws.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Metadata` and `Record`
[INFO] [stdout]   --> src/logger.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rat_logger::config::{Record, Metadata};
[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: `std::sync::Arc`
[INFO] [stdout]   --> src/logger.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]   --> src/logger.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use chrono::Local;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CryptoError`
[INFO] [stdout]   --> src/crypto/mod.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::error::{CryptoError, CryptoResult};
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ECDSA_P384_SHA384_FIXED_SIGNING` and `EcdsaKeyPair`
[INFO] [stdout]   --> src/crypto/mod.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::signature::{EcdsaKeyPair, ECDSA_P384_SHA384_FIXED_SIGNING};
[INFO] [stdout]    |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::rand::SystemRandom`
[INFO] [stdout]   --> src/crypto/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ring::rand::SystemRandom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/auth/cloudflare.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/acme/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Directory`
[INFO] [stdout]  --> src/acme/account.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::acme::{AcmeClient, Directory};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/acme/account.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AcmeError` and `AcmeResult`
[INFO] [stdout]  --> src/acme/authorization.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{AcmeError, AcmeResult};
[INFO] [stdout]   |                    ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]  --> src/acme/authorization.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use url::Url;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChallengeStatus`
[INFO] [stdout]   --> src/acme/authorization.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::challenge::{Challenge, ChallengeStatus};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/acme/certificate.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::time::OffsetDateTime`
[INFO] [stdout]   --> src/acme/certificate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ::time::OffsetDateTime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]  --> src/acme/challenge.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use reqwest::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> src/acme/challenge.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/acme/directory.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/acme/jws.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rat_logger::LoggerBuilder::init`: 请使用init_global_logger方法
[INFO] [stdout]    --> src/logger.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |         builder.init().map_err(|e| format!("日志初始化失败: {}", e))?;
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rat_logger::LoggerBuilder::init`: 请使用init_global_logger方法
[INFO] [stdout]    --> src/logger.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |         builder.init().map_err(|e| format!("日志初始化失败: {}", e))?;
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `responded_challenge`
[INFO] [stdout]    --> src/acme/challenge.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         let responded_challenge = self.respond_to_challenge(challenge).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_responded_challenge`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parsed_url`
[INFO] [stdout]    --> src/acme/directory.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let parsed_url = Url::parse(url)
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]    --> src/acme/jws.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     public_key: &KeyPair,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signing_input`
[INFO] [stdout]    --> src/acme/jws.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let signing_input = format!("{}.{}", jws.protected, jws.payload);
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signing_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> src/acme/jws.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let signature = URL_SAFE_NO_PAD.decode(&jws.signature)
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order`
[INFO] [stdout]    --> src/acme/order.rs:484:10
[INFO] [stdout]     |
[INFO] [stdout] 484 |     let (order, order_url) = order_manager.create_order(domains, None, None).await?;
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finalized_order`
[INFO] [stdout]    --> src/acme/order.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |     let finalized_order = order_manager.finalize_order(&ready_order, csr_der).await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_finalized_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `responded_challenge`
[INFO] [stdout]    --> src/acme/challenge.rs:648:13
[INFO] [stdout]     |
[INFO] [stdout] 648 |         let responded_challenge = self.respond_to_challenge(challenge).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_responded_challenge`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parsed_url`
[INFO] [stdout]    --> src/acme/directory.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let parsed_url = Url::parse(url)
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]    --> src/acme/jws.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     public_key: &KeyPair,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signing_input`
[INFO] [stdout]    --> src/acme/jws.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let signing_input = format!("{}.{}", jws.protected, jws.payload);
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signing_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> src/acme/jws.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let signature = URL_SAFE_NO_PAD.decode(&jws.signature)
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order`
[INFO] [stdout]    --> src/acme/order.rs:484:10
[INFO] [stdout]     |
[INFO] [stdout] 484 |     let (order, order_url) = order_manager.create_order(domains, None, None).await?;
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finalized_order`
[INFO] [stdout]    --> src/acme/order.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |     let finalized_order = order_manager.finalize_order(&ready_order, csr_der).await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_finalized_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enabled`
[INFO] [stdout]    --> src/i18n_logger.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn set_logging_enabled(enabled: bool) {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logger`
[INFO] [stdout]    --> src/i18n_logger.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |     if let Some(logger) = GLOBAL_I18N_LOGGER.get() {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finalized_order`
[INFO] [stdout]    --> src/lib.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let finalized_order = acme_client.finalize_order(&order.finalize, &csr_der).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_finalized_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CertificateQuota` is more private than the item `ZeroSslAuth::check_certificate_quota`
[INFO] [stdout]    --> src/auth/zerossl.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub async fn check_certificate_quota(&self) -> AuthResult<CertificateQuota> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ZeroSslAuth::check_certificate_quota` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CertificateQuota` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/auth/zerossl.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | struct CertificateQuota {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CertificateQuota` is more private than the item `check_zerossl_quota`
[INFO] [stdout]    --> src/auth/zerossl.rs:332:1
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub async fn check_zerossl_quota(api_key: &str) -> AuthResult<CertificateQuota> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `check_zerossl_quota` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CertificateQuota` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/auth/zerossl.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | struct CertificateQuota {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]   --> src/auth/cloudflare.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct CloudflareError {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 35 |     code: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudflareError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenVerifyResult` is never constructed
[INFO] [stdout]   --> src/auth/cloudflare.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct TokenVerifyResult {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserResult` is never constructed
[INFO] [stdout]   --> src/auth/cloudflare.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct UserResult {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/auth/cloudflare.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct TokenPermission {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 72 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenPermission` 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 `issued_on`, `modified_on`, `not_before`, and `condition` are never read
[INFO] [stdout]   --> src/auth/cloudflare.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct TokenDetails {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |     issued_on: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 83 |     modified_on: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 84 |     not_before: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     condition: Option<TokenCondition>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenDetails` 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 `id`, `effect`, and `resources` are never read
[INFO] [stdout]   --> src/auth/cloudflare.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct TokenPolicy {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 93 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 94 |     effect: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 95 |     resources: serde_json::Value,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenPolicy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request_ip` is never read
[INFO] [stdout]    --> src/auth/cloudflare.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct TokenCondition {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 102 |     request_ip: Option<TokenIpCondition>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenCondition` 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 `in_list` and `not_in_list` are never read
[INFO] [stdout]    --> src/auth/cloudflare.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | struct TokenIpCondition {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 108 |     #[serde(rename = "in")]
[INFO] [stdout] 109 |     in_list: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 110 |     #[serde(rename = "not_in")]
[INFO] [stdout] 111 |     not_in_list: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenIpCondition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `verify_token` and `validate_permissions` are never used
[INFO] [stdout]    --> src/auth/cloudflare.rs:169:14
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl CloudflareAuth {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     async fn verify_token(&self) -> AuthResult<TokenVerifyResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn validate_permissions(&self, token_details: &TokenDetails) -> AuthResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/auth/cloudflare.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 377 |         struct Zone {
[INFO] [stdout]     |                ---- field in this struct
[INFO] [stdout] 378 |             id: String,
[INFO] [stdout]     |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZeroSslResponse` is never constructed
[INFO] [stdout]   --> src/auth/zerossl.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct ZeroSslResponse<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `code` and `error_type` are never read
[INFO] [stdout]   --> src/auth/zerossl.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct ZeroSslError {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 35 |     code: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 36 |     #[serde(rename = "type")]
[INFO] [stdout] 37 |     error_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ZeroSslError` 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 `id` and `updated` are never read
[INFO] [stdout]   --> src/auth/zerossl.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct AccountInfo {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 52 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     updated: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccountInfo` 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 `limit`, `used`, and `remaining` are never read
[INFO] [stdout]   --> src/auth/zerossl.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct CertificateQuota {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 64 |     limit: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 65 |     used: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 66 |     remaining: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CertificateQuota` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `convert_key_usage` and `convert_extended_key_usage` are never used
[INFO] [stdout]    --> src/acme/certificate.rs:435:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl CertificateManager {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 435 |     fn convert_key_usage(&self, usage: &[KeyUsage]) -> Vec<rcgen::KeyUsagePurpose> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     fn convert_extended_key_usage(&self, usage: &[ExtendedKeyUsage]) -> Vec<rcgen::ExtendedKeyUsagePurpose> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `messages` and `result_info` are never read
[INFO] [stdout]   --> src/dns/cloudflare.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct CloudflareResponse<T> {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     messages: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 29 |     result: Option<T>,
[INFO] [stdout] 30 |     result_info: Option<CloudflareResultInfo>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudflareResponse` 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 `page`, `per_page`, `count`, and `total_count` are never read
[INFO] [stdout]   --> src/dns/cloudflare.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct CloudflareResultInfo {
[INFO] [stdout]    |        -------------------- fields in this struct
[INFO] [stdout] 43 |     page: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     per_page: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     count: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 46 |     total_count: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudflareResultInfo` 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 `name` and `status` are never read
[INFO] [stdout]   --> src/dns/cloudflare.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct CloudflareZone {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 52 |     id: String,
[INFO] [stdout] 53 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 54 |     status: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudflareZone` 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 `UpdateDnsRecordRequest` is never constructed
[INFO] [stdout]   --> src/dns/cloudflare.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct UpdateDnsRecordRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `acme_commander::dns::cloudflare::CloudflareDnsManager`
[INFO] [stdout]  --> tests/dns_validation_test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use acme_commander::dns::cloudflare::CloudflareDnsManager;
[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 imports: `DnsChallengeManager` and `DnsManager`
[INFO] [stdout]  --> tests/dns_validation_test.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use acme_commander::dns::{DnsManager, DnsChallengeManager};
[INFO] [stdout]   |                           ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AcmeClient` and `AcmeConfig`
[INFO] [stdout]  --> tests/dns_validation_test.rs:8:28
[INFO] [stdout]   |
[INFO] [stdout] 8 | use acme_commander::acme::{AcmeClient, AcmeConfig};
[INFO] [stdout]   |                            ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DnsChallengeManager` and `DnsProvider`
[INFO] [stdout]   --> tests/gs1_sukiyaki_test.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use acme_commander::dns::{DnsProvider, DnsManager, DnsChallengeManager};
[INFO] [stdout]    |                           ^^^^^^^^^^^              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/dns_validation_test.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut challenge_manager = acme_commander::acme::challenge::ChallengeManager::new(&mut acme_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: unused variable: `enabled`
[INFO] [stdout]    --> src/i18n_logger.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn set_logging_enabled(enabled: bool) {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logger`
[INFO] [stdout]    --> src/i18n_logger.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |     if let Some(logger) = GLOBAL_I18N_LOGGER.get() {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FormatConfig`, `LevelFilter`, `LevelStyle`, `LoggerBuilder`, and `handler::term::TermConfig`
[INFO] [stdout]   --> examples/caller_init_log_example.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rat_logger::{LoggerBuilder, LevelFilter, handler::term::TermConfig, FormatConfig, LevelStyle};
[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: `acme_commander::dns::cloudflare::CloudflareDnsManager`
[INFO] [stdout]  --> tests/cloudflare_dns_test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use acme_commander::dns::cloudflare::CloudflareDnsManager;
[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: `DnsChallengeManager`
[INFO] [stdout]  --> tests/cloudflare_dns_test.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use acme_commander::dns::{DnsManager, DnsChallengeManager};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_custom_dns_challenge_manager` is never used
[INFO] [stdout]   --> tests/test_common.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn create_custom_dns_challenge_manager(dns_manager: Box<dyn DnsManager>, ttl: u32, timeout: u64) -> DnsChallengeManager {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_test_domains` is never used
[INFO] [stdout]   --> tests/test_common.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn get_test_domains() -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_test_config` is never used
[INFO] [stdout]    --> tests/test_common.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn load_test_config() -> Result<config::AcmeConfig, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/gs1_sukiyaki_test.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let mut dns_challenge_manager = create_custom_dns_challenge_manager(dns_manager, 300, 600);
[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: unused import: `acme_commander::dns::cloudflare::CloudflareDnsManager`
[INFO] [stdout]  --> tests/sandbox_dns_test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use acme_commander::dns::cloudflare::CloudflareDnsManager;
[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 imports: `DnsChallengeManager` and `DnsManager`
[INFO] [stdout]  --> tests/sandbox_dns_test.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use acme_commander::dns::{DnsManager, DnsChallengeManager};
[INFO] [stdout]   |                           ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AcmeClient` and `AcmeConfig`
[INFO] [stdout]  --> tests/sandbox_dns_test.rs:8:28
[INFO] [stdout]   |
[INFO] [stdout] 8 | use acme_commander::acme::{AcmeClient, AcmeConfig};
[INFO] [stdout]   |                            ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `acme_commander::crypto::KeyPair`
[INFO] [stdout]   --> src/commands.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use acme_commander::crypto::KeyPair;
[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: `acme_commander::AcmeResult`
[INFO] [stdout]   --> src/commands.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use acme_commander::AcmeResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/commands.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rat_logger::{error, info, warn};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `acme_commander::error::AcmeError`
[INFO] [stdout]  --> src/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use acme_commander::error::AcmeError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rat_logger::info`
[INFO] [stdout]   --> src/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rat_logger::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `acme_commander::error::AcmeError`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use acme_commander::error::AcmeError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LogConfig`, `LogLevel`, `LogOutput`, and `init_logger`
[INFO] [stdout]   --> src/main.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 | use acme_commander::logger::{LogConfig, LogLevel, LogOutput, init_logger};
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `acme_commander::crypto::KeyPair`
[INFO] [stdout]   --> src/commands.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use acme_commander::crypto::KeyPair;
[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: `acme_commander::AcmeResult`
[INFO] [stdout]   --> src/commands.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use acme_commander::AcmeResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/commands.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rat_logger::{error, info, warn};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `acme_commander::error::AcmeError`
[INFO] [stdout]  --> src/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use acme_commander::error::AcmeError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rat_logger::info`
[INFO] [stdout]   --> src/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rat_logger::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `acme_commander::error::AcmeError`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use acme_commander::error::AcmeError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LogConfig`, `LogLevel`, `LogOutput`, and `init_logger`
[INFO] [stdout]   --> src/main.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 | use acme_commander::logger::{LogConfig, LogLevel, LogOutput, init_logger};
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metrics`
[INFO] [stdout]   --> examples/caller_init_log_example.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let metrics = timer.finish(true);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metrics`
[INFO] [stdout]    --> examples/caller_init_log_example.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let metrics = timer.finish(true);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account`
[INFO] [stdout]   --> tests/gs1_sukiyaki_test.rs:81:10
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let (account, _) = account_manager.register_account(None, true, None).await?;
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `csr_pem`
[INFO] [stdout]    --> tests/gs1_sukiyaki_test.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let (csr_der, csr_pem) = cert_manager.prepare_domain_csr(
[INFO] [stdout]     |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csr_pem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DnsManager`
[INFO] [stdout]  --> tests/cloudflare_dns_test.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use acme_commander::dns::{DnsManager, DnsChallengeManager};
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/sandbox_dns_test.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut challenge_manager = acme_commander::acme::challenge::ChallengeManager::new(&mut acme_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: unused variable: `updated_order`
[INFO] [stdout]    --> tests/sandbox_dns_test.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let updated_order = {
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updated_order`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_DOMAIN` is never used
[INFO] [stdout]   --> tests/test_common.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const TEST_DOMAIN: &str = "gs1.sukiyaki.su";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DNS_TTL` is never used
[INFO] [stdout]   --> tests/test_common.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const DEFAULT_DNS_TTL: u32 = 300;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DNS_TIMEOUT` is never used
[INFO] [stdout]   --> tests/test_common.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const DEFAULT_DNS_TIMEOUT: u64 = 600;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_ACME_TIMEOUT` is never used
[INFO] [stdout]   --> tests/test_common.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const DEFAULT_ACME_TIMEOUT: u32 = 30;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_test_logger` is never used
[INFO] [stdout]   --> tests/test_common.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn init_test_logger() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_cloudflare_manager` is never used
[INFO] [stdout]   --> tests/test_common.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub async fn create_test_cloudflare_manager() -> Result<Box<dyn DnsManager>, String> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_dns_challenge_manager` is never used
[INFO] [stdout]   --> tests/test_common.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn create_test_dns_challenge_manager(dns_manager: Box<dyn DnsManager>) -> DnsChallengeManager {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_acme_config` is never used
[INFO] [stdout]   --> tests/test_common.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn create_test_acme_config(email: Option<String>) -> AcmeConfig {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_acme_client` is never used
[INFO] [stdout]   --> tests/test_common.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn create_test_acme_client(config: AcmeConfig, account_key: KeyPair) -> Result<AcmeClient, acme_commander::error::AcmeError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_test_domains` is never used
[INFO] [stdout]   --> tests/test_common.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn get_test_domains() -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_test_config` is never used
[INFO] [stdout]    --> tests/test_common.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn load_test_config() -> Result<config::AcmeConfig, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_certificate_key` is never used
[INFO] [stdout]   --> tests/test_common.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn create_test_certificate_key() -> KeyPair {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_custom_dns_challenge_manager` is never used
[INFO] [stdout]   --> tests/test_common.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn create_custom_dns_challenge_manager(dns_manager: Box<dyn DnsManager>, ttl: u32, timeout: u64) -> DnsChallengeManager {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_test_domains` is never used
[INFO] [stdout]   --> tests/test_common.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn get_test_domains() -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_test_config` is never used
[INFO] [stdout]    --> tests/test_common.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn load_test_config() -> Result<config::AcmeConfig, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `finalized_order`
[INFO] [stdout]    --> src/lib.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let finalized_order = acme_client.finalize_order(&order.finalize, &csr_der).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_finalized_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CertificateQuota` is more private than the item `ZeroSslAuth::check_certificate_quota`
[INFO] [stdout]    --> src/auth/zerossl.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub async fn check_certificate_quota(&self) -> AuthResult<CertificateQuota> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ZeroSslAuth::check_certificate_quota` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CertificateQuota` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/auth/zerossl.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | struct CertificateQuota {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CertificateQuota` is more private than the item `check_zerossl_quota`
[INFO] [stdout]    --> src/auth/zerossl.rs:332:1
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub async fn check_zerossl_quota(api_key: &str) -> AuthResult<CertificateQuota> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `check_zerossl_quota` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CertificateQuota` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/auth/zerossl.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | struct CertificateQuota {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]   --> src/auth/cloudflare.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct CloudflareError {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 35 |     code: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudflareError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenVerifyResult` is never constructed
[INFO] [stdout]   --> src/auth/cloudflare.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct TokenVerifyResult {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserResult` is never constructed
[INFO] [stdout]   --> src/auth/cloudflare.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct UserResult {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/auth/cloudflare.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct TokenPermission {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 72 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenPermission` 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 `issued_on`, `modified_on`, `not_before`, and `condition` are never read
[INFO] [stdout]   --> src/auth/cloudflare.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct TokenDetails {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |     issued_on: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 83 |     modified_on: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 84 |     not_before: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     condition: Option<TokenCondition>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenDetails` 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 `id`, `effect`, and `resources` are never read
[INFO] [stdout]   --> src/auth/cloudflare.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct TokenPolicy {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 93 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 94 |     effect: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 95 |     resources: serde_json::Value,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenPolicy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request_ip` is never read
[INFO] [stdout]    --> src/auth/cloudflare.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct TokenCondition {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 102 |     request_ip: Option<TokenIpCondition>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenCondition` 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 `in_list` and `not_in_list` are never read
[INFO] [stdout]    --> src/auth/cloudflare.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | struct TokenIpCondition {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 108 |     #[serde(rename = "in")]
[INFO] [stdout] 109 |     in_list: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 110 |     #[serde(rename = "not_in")]
[INFO] [stdout] 111 |     not_in_list: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenIpCondition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `verify_token` and `validate_permissions` are never used
[INFO] [stdout]    --> src/auth/cloudflare.rs:169:14
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl CloudflareAuth {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     async fn verify_token(&self) -> AuthResult<TokenVerifyResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn validate_permissions(&self, token_details: &TokenDetails) -> AuthResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/auth/cloudflare.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 377 |         struct Zone {
[INFO] [stdout]     |                ---- field in this struct
[INFO] [stdout] 378 |             id: String,
[INFO] [stdout]     |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZeroSslResponse` is never constructed
[INFO] [stdout]   --> src/auth/zerossl.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct ZeroSslResponse<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `code` and `error_type` are never read
[INFO] [stdout]   --> src/auth/zerossl.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct ZeroSslError {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 35 |     code: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 36 |     #[serde(rename = "type")]
[INFO] [stdout] 37 |     error_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ZeroSslError` 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 `id` and `updated` are never read
[INFO] [stdout]   --> src/auth/zerossl.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct AccountInfo {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 52 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     updated: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccountInfo` 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 `limit`, `used`, and `remaining` are never read
[INFO] [stdout]   --> src/auth/zerossl.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct CertificateQuota {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 64 |     limit: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 65 |     used: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 66 |     remaining: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CertificateQuota` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `convert_key_usage` and `convert_extended_key_usage` are never used
[INFO] [stdout]    --> src/acme/certificate.rs:435:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl CertificateManager {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 435 |     fn convert_key_usage(&self, usage: &[KeyUsage]) -> Vec<rcgen::KeyUsagePurpose> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     fn convert_extended_key_usage(&self, usage: &[ExtendedKeyUsage]) -> Vec<rcgen::ExtendedKeyUsagePurpose> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `messages` and `result_info` are never read
[INFO] [stdout]   --> src/dns/cloudflare.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct CloudflareResponse<T> {
[INFO] [stdout]    |        ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     messages: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 29 |     result: Option<T>,
[INFO] [stdout] 30 |     result_info: Option<CloudflareResultInfo>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudflareResponse` 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 `page`, `per_page`, `count`, and `total_count` are never read
[INFO] [stdout]   --> src/dns/cloudflare.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct CloudflareResultInfo {
[INFO] [stdout]    |        -------------------- fields in this struct
[INFO] [stdout] 43 |     page: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     per_page: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     count: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 46 |     total_count: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudflareResultInfo` 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 `name` and `status` are never read
[INFO] [stdout]   --> src/dns/cloudflare.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct CloudflareZone {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 52 |     id: String,
[INFO] [stdout] 53 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 54 |     status: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudflareZone` 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 `UpdateDnsRecordRequest` is never constructed
[INFO] [stdout]   --> src/dns/cloudflare.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct UpdateDnsRecordRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_ACME_TIMEOUT` is never used
[INFO] [stdout]   --> tests/test_common.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const DEFAULT_ACME_TIMEOUT: u32 = 30;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_account_key` is never used
[INFO] [stdout]   --> tests/test_common.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn create_test_account_key() -> KeyPair {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_certificate_key` is never used
[INFO] [stdout]   --> tests/test_common.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn create_test_certificate_key() -> KeyPair {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_custom_dns_challenge_manager` is never used
[INFO] [stdout]   --> tests/test_common.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn create_custom_dns_challenge_manager(dns_manager: Box<dyn DnsManager>, ttl: u32, timeout: u64) -> DnsChallengeManager {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_acme_config` is never used
[INFO] [stdout]   --> tests/test_common.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn create_test_acme_config(email: Option<String>) -> AcmeConfig {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_acme_client` is never used
[INFO] [stdout]   --> tests/test_common.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn create_test_acme_client(config: AcmeConfig, account_key: KeyPair) -> Result<AcmeClient, acme_commander::error::AcmeError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_test_domains` is never used
[INFO] [stdout]   --> tests/test_common.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn get_test_domains() -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_test_config` is never used
[INFO] [stdout]    --> tests/test_common.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn load_test_config() -> Result<config::AcmeConfig, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_key_pair`
[INFO] [stdout]    --> src/commands.rs:581:9
[INFO] [stdout]     |
[INFO] [stdout] 581 |     let account_key_pair = load_key_pair_from_file(&account_key)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_key_pair`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cert_content`
[INFO] [stdout]    --> src/commands.rs:584:9
[INFO] [stdout]     |
[INFO] [stdout] 584 |     let cert_content = std::fs::read_to_string(&cert_file)
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cert_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_key_pair`
[INFO] [stdout]    --> src/commands.rs:581:9
[INFO] [stdout]     |
[INFO] [stdout] 581 |     let account_key_pair = load_key_pair_from_file(&account_key)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_key_pair`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cert_content`
[INFO] [stdout]    --> src/commands.rs:584:9
[INFO] [stdout]     |
[INFO] [stdout] 584 |     let cert_content = std::fs::read_to_string(&cert_file)
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cert_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mask_token` is never used
[INFO] [stdout]    --> src/utils.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn mask_token(token: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 18s
[INFO] running `Command { std: "docker" "inspect" "414c00bb36f18224c6f471d6a197ccd21917505dbfade9588754ee3b3b39ed6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "414c00bb36f18224c6f471d6a197ccd21917505dbfade9588754ee3b3b39ed6b", kill_on_drop: false }`
[INFO] [stdout] 414c00bb36f18224c6f471d6a197ccd21917505dbfade9588754ee3b3b39ed6b
