[INFO] fetching crate locket 0.17.3...
[INFO] checking locket-0.17.3 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate locket 0.17.3 into /workspace/builds/worker-4-tc2/source
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate locket 0.17.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate locket 0.17.3
[INFO] tweaked toml for crates.io crate locket 0.17.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate locket 0.17.3 on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate locket 0.17.3 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:172:12
[INFO] [stderr]     |
[INFO] [stderr] 172 | homepage = "https://github.com/bpbradley/locket"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 | repository = "https://github.com/bpbradley/locket"
[INFO] [stderr]     |              -------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `locket` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5
[INFO] running `Command { std: "docker" "start" "088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:172:12
[INFO] [stderr]     |
[INFO] [stderr] 172 | homepage = "https://github.com/bpbradley/locket"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 | repository = "https://github.com/bpbradley/locket"
[INFO] [stderr]     |              -------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `locket` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking tokio v1.52.1
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking hybrid-array v0.4.7
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking cmov v0.5.2
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking ctutils v0.4.0
[INFO] [stderr]     Checking block-buffer v0.11.0
[INFO] [stderr]     Checking crypto-common v0.2.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling bitwarden-error-macro v2.0.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking bitwarden-error v2.0.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking digest v0.11.0
[INFO] [stderr]    Compiling serde_with_macros v3.16.1
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.17
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking serde_with v3.16.1
[INFO] [stderr]     Checking deranged v0.5.6
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]     Checking data-encoding-macro v0.1.19
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking ref-cast v1.0.25
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking blake2 v0.11.0-rc.5
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking rsa v0.9.10
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking schemars v1.2.1
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking argon2 v0.6.0-rc.2
[INFO] [stderr]     Checking coset v0.3.8
[INFO] [stderr]     Checking bitwarden-encoding v2.0.0
[INFO] [stderr]     Checking bitwarden-threading v2.0.0
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking fancy-regex v0.13.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]    Compiling bitwarden-uuid-macro v2.0.0
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking zeroizing-alloc v0.1.0
[INFO] [stderr]     Checking bitwarden-uuid v2.0.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking serde_qs v0.15.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling validator_derive v0.20.0
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking winnow v1.0.1
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking zxcvbn v3.1.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking validator v0.20.0
[INFO] [stderr]     Checking bitwarden-crypto v2.0.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]     Checking predicates-core v1.0.10
[INFO] [stderr]    Compiling doc-comment v0.3.4
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking ignore v0.4.25
[INFO] [stderr]     Checking bitwarden-api-api v2.0.0
[INFO] [stderr]     Checking bitwarden-api-identity v2.0.0
[INFO] [stderr]     Checking sanitize-filename v0.6.0
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]    Compiling locket_derive v0.17.3
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking sysexits v0.13.0
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking globwalk v0.9.1
[INFO] [stderr]     Checking predicates-tree v1.0.13
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking assert_fs v1.1.3
[INFO] [stderr]     Checking rusqlite v0.37.0
[INFO] [stderr]     Checking bitwarden-state v2.0.0
[INFO] [stderr]     Checking bitwarden-core v2.0.0
[INFO] [stderr]     Checking bitwarden-sm v2.0.0
[INFO] [stderr]     Checking bitwarden-generators v2.0.0
[INFO] [stderr]     Checking bitwarden v2.0.0
[INFO] [stderr]     Checking locket v0.17.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/path.rs:39:28
[INFO] [stdout]    |
[INFO] [stdout] 39 |         Self(path.as_ref().absolute())
[INFO] [stdout]    |                            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `path::PathExt::absolute(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(path_absolute_method)]` to the crate attributes to enable `std::path::Path::absolute`
[INFO] [stdout]   --> src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 + #![feature(path_absolute_method)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/path.rs:278:38
[INFO] [stdout]     |
[INFO] [stdout] 278 |         Ok(AbsolutePath(Path::new(s).absolute()))
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: call with fully qualified syntax `path::PathExt::absolute(...)` to keep using the current method
[INFO] [stdout]     = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(path_absolute_method)]` to the crate attributes to enable `std::path::Path::absolute`
[INFO] [stdout]    --> src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 + #![feature(path_absolute_method)]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/path.rs:39:28
[INFO] [stdout]    |
[INFO] [stdout] 39 |         Self(path.as_ref().absolute())
[INFO] [stdout]    |                            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `PathExt::absolute(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(path_absolute_method)]` to the crate attributes to enable `Path::absolute`
[INFO] [stdout]   --> src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 + #![feature(path_absolute_method)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/path.rs:278:38
[INFO] [stdout]     |
[INFO] [stdout] 278 |         Ok(AbsolutePath(Path::new(s).absolute()))
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: call with fully qualified syntax `PathExt::absolute(...)` to keep using the current method
[INFO] [stdout]     = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout] help: add `#![feature(path_absolute_method)]` to the crate attributes to enable `Path::absolute`
[INFO] [stdout]    --> src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 + #![feature(path_absolute_method)]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `bool`
[INFO] [stdout]   --> src/cmd/config/exec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     /// Watch mode will monitor for changes to .env files and restart the command if changes are detected.
[INFO] [stdout] 29 | |     #[arg(
[INFO] [stdout] 30 | |         long,
[INFO] [stdout] 31 | |         env = "LOCKET_EXEC_WATCH",
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |     #[locket(default = false)]
[INFO] [stdout] 37 | |     pub watch: Option<bool>,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     <bool as Into<_>>::into(/// Watch mode will monitor for changes to .env files and restart the command if changes are detected.
[INFO] [stdout] 29 |     #[arg(
[INFO] [stdout] ...
[INFO] [stdout] 36 |     #[locket(default = false)]
[INFO] [stdout] 37 ~     pub watch: Option<bool>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ProcessTimeout`
[INFO] [stdout]    --> src/cmd/config/exec.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     /// Timeout duration for process termination signals.
[INFO] [stdout] 102 | |     ///
[INFO] [stdout] 103 | |     /// Unitless numbers are interpreted as seconds.
[INFO] [stdout] 104 | |     #[arg(long, env = "LOCKET_EXEC_TIMEOUT")]
[INFO] [stdout] 105 | |     #[locket(default = ProcessTimeout::default())]
[INFO] [stdout] 106 | |     pub timeout: Option<ProcessTimeout>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 101 ~     <ProcessTimeout as Into<_>>::into(/// Timeout duration for process termination signals.
[INFO] [stdout] 102 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 105 |     #[locket(default = ProcessTimeout::default())]
[INFO] [stdout] 106 ~     pub timeout: Option<ProcessTimeout>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `DebounceDuration`
[INFO] [stdout]    --> src/cmd/config/exec.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | /     /// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 109 | |     ///
[INFO] [stdout] 110 | |     /// Events occurring within this duration will be coalesced into a single update
[INFO] [stdout] 111 | |     /// so as to not overwhelm the secrets manager with rapid successive updates from
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 118 | |     pub debounce: Option<DebounceDuration>,
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 108 ~     <DebounceDuration as Into<_>>::into(/// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 109 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 117 |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 118 ~     pub debounce: Option<DebounceDuration>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/exec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     /// Watch mode will monitor for changes to .env files and restart the command if changes are detected.
[INFO] [stdout] 29 | |     #[arg(
[INFO] [stdout] 30 | |         long,
[INFO] [stdout] 31 | |         env = "LOCKET_EXEC_WATCH",
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |     #[locket(default = false)]
[INFO] [stdout] 37 | |     pub watch: Option<bool>,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/cmd/config/exec.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     /// Timeout duration for process termination signals.
[INFO] [stdout] 102 | |     ///
[INFO] [stdout] 103 | |     /// Unitless numbers are interpreted as seconds.
[INFO] [stdout] 104 | |     #[arg(long, env = "LOCKET_EXEC_TIMEOUT")]
[INFO] [stdout] 105 | |     #[locket(default = ProcessTimeout::default())]
[INFO] [stdout] 106 | |     pub timeout: Option<ProcessTimeout>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/cmd/config/exec.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | /     /// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 109 | |     ///
[INFO] [stdout] 110 | |     /// Events occurring within this duration will be coalesced into a single update
[INFO] [stdout] 111 | |     /// so as to not overwhelm the secrets manager with rapid successive updates from
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 118 | |     pub debounce: Option<DebounceDuration>,
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `InjectMode`
[INFO] [stdout]   --> src/cmd/config/inject.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// Mode of operation
[INFO] [stdout] 46 | |     #[arg(long, env = "LOCKET_INJECT_MODE", value_enum)]
[INFO] [stdout] 47 | |     #[locket(default = InjectMode::OneShot)]
[INFO] [stdout] 48 | |     pub mode: Option<InjectMode>,
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 ~     <InjectMode as Into<_>>::into(/// Mode of operation
[INFO] [stdout] 46 |     #[arg(long, env = "LOCKET_INJECT_MODE", value_enum)]
[INFO] [stdout] 47 |     #[locket(default = InjectMode::OneShot)]
[INFO] [stdout] 48 ~     pub mode: Option<InjectMode>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `DebounceDuration`
[INFO] [stdout]   --> src/cmd/config/inject.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     /// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 65 | |     ///
[INFO] [stdout] 66 | |     /// Events occurring within this duration will be coalesced into a single update
[INFO] [stdout] 67 | |     /// so as to not overwhelm the secrets manager with rapid successive updates from
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 74 | |     pub debounce: Option<DebounceDuration>,
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 64 ~     <DebounceDuration as Into<_>>::into(/// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 65 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 73 |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 74 ~     pub debounce: Option<DebounceDuration>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/inject.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// Mode of operation
[INFO] [stdout] 46 | |     #[arg(long, env = "LOCKET_INJECT_MODE", value_enum)]
[INFO] [stdout] 47 | |     #[locket(default = InjectMode::OneShot)]
[INFO] [stdout] 48 | |     pub mode: Option<InjectMode>,
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/inject.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     /// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 65 | |     ///
[INFO] [stdout] 66 | |     /// Events occurring within this duration will be coalesced into a single update
[INFO] [stdout] 67 | |     /// so as to not overwhelm the secrets manager with rapid successive updates from
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 74 | |     pub debounce: Option<DebounceDuration>,
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/volume.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     /// Path to the listening socket.
[INFO] [stdout] 22 | |     #[arg(long, env = "LOCKET_PLUGIN_SOCKET")]
[INFO] [stdout] 23 | |     #[locket(default = "/run/docker/plugins/locket.sock")]
[INFO] [stdout] 24 | |     pub socket: Option<AbsolutePath>,
[INFO] [stdout]    | |____________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/volume.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     /// Path to directory where state configuration is stored.
[INFO] [stdout] 27 | |     ///
[INFO] [stdout] 28 | |     /// This is where the plugin will store necessary data to reload configured volumes from cold start
[INFO] [stdout] 29 | |     #[arg(long, env = "LOCKET_PLUGIN_STATE_DIR")]
[INFO] [stdout] 30 | |     #[locket(default = "/var/lib/locket")]
[INFO] [stdout] 31 | |     pub state_dir: Option<AbsolutePath>,
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/volume.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | /     /// Path to directory where runtime data is stored.
[INFO] [stdout] 34 | |     ///
[INFO] [stdout] 35 | |     /// This is where volumes are physically mounted on the host filesystem.
[INFO] [stdout] 36 | |     #[arg(long, env = "LOCKET_PLUGIN_RUNTIME_DIR")]
[INFO] [stdout] 37 | |     #[locket(default = "/var/lib/locket")]
[INFO] [stdout] 38 | |     pub runtime_dir: Option<AbsolutePath>,
[INFO] [stdout]    | |_________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LogFormat`
[INFO] [stdout]    --> src/logging.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     /// Log format
[INFO] [stdout] 115 | |     #[arg(long, env = "LOCKET_LOG_FORMAT")]
[INFO] [stdout] 116 | |     #[locket(default = LogFormat::Text)]
[INFO] [stdout] 117 | |     pub log_format: Option<LogFormat>,
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 114 ~     <LogFormat as Into<_>>::into(/// Log format
[INFO] [stdout] 115 |     #[arg(long, env = "LOCKET_LOG_FORMAT")]
[INFO] [stdout] 116 |     #[locket(default = LogFormat::Text)]
[INFO] [stdout] 117 ~     pub log_format: Option<LogFormat>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LogLevel`
[INFO] [stdout]    --> src/logging.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     /// Log level
[INFO] [stdout] 120 | |     #[arg(long, env = "LOCKET_LOG_LEVEL")]
[INFO] [stdout] 121 | |     #[locket(default = LogLevel::Info)]
[INFO] [stdout] 122 | |     pub log_level: Option<LogLevel>,
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 119 ~     <LogLevel as Into<_>>::into(/// Log level
[INFO] [stdout] 120 |     #[arg(long, env = "LOCKET_LOG_LEVEL")]
[INFO] [stdout] 121 |     #[locket(default = LogLevel::Info)]
[INFO] [stdout] 122 ~     pub log_level: Option<LogLevel>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/logging.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     /// Log format
[INFO] [stdout] 115 | |     #[arg(long, env = "LOCKET_LOG_FORMAT")]
[INFO] [stdout] 116 | |     #[locket(default = LogFormat::Text)]
[INFO] [stdout] 117 | |     pub log_format: Option<LogFormat>,
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/logging.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     /// Log level
[INFO] [stdout] 120 | |     #[arg(long, env = "LOCKET_LOG_LEVEL")]
[INFO] [stdout] 121 | |     #[locket(default = LogLevel::Info)]
[INFO] [stdout] 122 | |     pub log_level: Option<LogLevel>,
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ConcurrencyLimit`
[INFO] [stdout]   --> src/provider/config/bws.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     /// Maximum number of concurrent requests to Bitwarden Secrets Manager
[INFO] [stdout] 48 | |     #[arg(long, env = "BWS_MAX_CONCURRENT")]
[INFO] [stdout] 49 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 50 | |     pub bws_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 47 ~     <ConcurrencyLimit as Into<_>>::into(/// Maximum number of concurrent requests to Bitwarden Secrets Manager
[INFO] [stdout] 48 |     #[arg(long, env = "BWS_MAX_CONCURRENT")]
[INFO] [stdout] 49 |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 50 ~     pub bws_max_concurrent: Option<ConcurrencyLimit>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/bws.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | /     /// Bitwarden API URL
[INFO] [stdout] 38 | |     #[arg(long, env = "BWS_API_URL")]
[INFO] [stdout] 39 | |     #[locket(default = "https://api.bitwarden.com")]
[INFO] [stdout] 40 | |     pub bws_api_url: Option<BwsUrl>,
[INFO] [stdout]    | |___________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/bws.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     /// Bitwarden Identity URL
[INFO] [stdout] 43 | |     #[arg(long, env = "BWS_IDENTITY_URL")]
[INFO] [stdout] 44 | |     #[locket(default = "https://identity.bitwarden.com")]
[INFO] [stdout] 45 | |     pub bws_identity_url: Option<BwsUrl>,
[INFO] [stdout]    | |________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/bws.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     /// Maximum number of concurrent requests to Bitwarden Secrets Manager
[INFO] [stdout] 48 | |     #[arg(long, env = "BWS_MAX_CONCURRENT")]
[INFO] [stdout] 49 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 50 | |     pub bws_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/bws.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | /     /// BWS User Agent
[INFO] [stdout] 53 | |     #[arg(long, env = "BWS_USER_AGENT")]
[INFO] [stdout] 54 | |     #[locket(default = env!("CARGO_PKG_NAME"))]
[INFO] [stdout] 55 | |     pub bws_user_agent: Option<String>,
[INFO] [stdout]    | |______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ConcurrencyLimit`
[INFO] [stdout]   --> src/provider/config/connect.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// Maximum allowed concurrent requests to Connect API
[INFO] [stdout] 46 | |     #[arg(long, env = "OP_CONNECT_MAX_CONCURRENT")]
[INFO] [stdout] 47 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 48 | |     pub connect_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 ~     <ConcurrencyLimit as Into<_>>::into(/// Maximum allowed concurrent requests to Connect API
[INFO] [stdout] 46 |     #[arg(long, env = "OP_CONNECT_MAX_CONCURRENT")]
[INFO] [stdout] 47 |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 48 ~     pub connect_max_concurrent: Option<ConcurrencyLimit>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/connect.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// Maximum allowed concurrent requests to Connect API
[INFO] [stdout] 46 | |     #[arg(long, env = "OP_CONNECT_MAX_CONCURRENT")]
[INFO] [stdout] 47 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 48 | |     pub connect_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `InfisicalSecretType`
[INFO] [stdout]   --> src/provider/config/infisical.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     /// The default secret type to use when one is not specified.
[INFO] [stdout] 72 | |     #[arg(long, env = "INFISICAL_DEFAULT_SECRET_TYPE")]
[INFO] [stdout] 73 | |     #[locket(default = InfisicalSecretType::Shared)]
[INFO] [stdout] 74 | |     pub infisical_default_secret_type: Option<InfisicalSecretType>,
[INFO] [stdout]    | |__________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 71 ~     <InfisicalSecretType as Into<_>>::into(/// The default secret type to use when one is not specified.
[INFO] [stdout] 72 |     #[arg(long, env = "INFISICAL_DEFAULT_SECRET_TYPE")]
[INFO] [stdout] 73 |     #[locket(default = InfisicalSecretType::Shared)]
[INFO] [stdout] 74 ~     pub infisical_default_secret_type: Option<InfisicalSecretType>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ConcurrencyLimit`
[INFO] [stdout]   --> src/provider/config/infisical.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     /// Maximum allowed concurrent requests to Infisical API.
[INFO] [stdout] 77 | |     #[arg(long, env = "INFISICAL_MAX_CONCURRENT")]
[INFO] [stdout] 78 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 79 | |     pub infisical_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |__________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 76 ~     <ConcurrencyLimit as Into<_>>::into(/// Maximum allowed concurrent requests to Infisical API.
[INFO] [stdout] 77 |     #[arg(long, env = "INFISICAL_MAX_CONCURRENT")]
[INFO] [stdout] 78 |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 79 ~     pub infisical_max_concurrent: Option<ConcurrencyLimit>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/infisical.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | /     /// The URL of the Infisical instance to connect to.
[INFO] [stdout] 44 | |     #[arg(long, env = "INFISICAL_URL")]
[INFO] [stdout] 45 | |     #[locket(default = "https://us.infisical.com")]
[INFO] [stdout] 46 | |     pub infisical_url: Option<url::Url>,
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/infisical.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | /     /// The default path to use when one is not specified.
[INFO] [stdout] 67 | |     #[arg(long, env = "INFISICAL_DEFAULT_PATH")]
[INFO] [stdout] 68 | |     #[locket(default = "/")]
[INFO] [stdout] 69 | |     pub infisical_default_path: Option<InfisicalPath>,
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/infisical.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     /// The default secret type to use when one is not specified.
[INFO] [stdout] 72 | |     #[arg(long, env = "INFISICAL_DEFAULT_SECRET_TYPE")]
[INFO] [stdout] 73 | |     #[locket(default = InfisicalSecretType::Shared)]
[INFO] [stdout] 74 | |     pub infisical_default_secret_type: Option<InfisicalSecretType>,
[INFO] [stdout]    | |__________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/infisical.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     /// Maximum allowed concurrent requests to Infisical API.
[INFO] [stdout] 77 | |     #[arg(long, env = "INFISICAL_MAX_CONCURRENT")]
[INFO] [stdout] 78 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 79 | |     pub infisical_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |__________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `AbsolutePath`
[INFO] [stdout]    --> src/secrets/config.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 | /     /// Directory where secret values (literals) are materialized
[INFO] [stdout] 189 | |     #[arg(long, env = "DEFAULT_SECRET_DIR")]
[INFO] [stdout] 190 | |     #[locket(default = SecretManagerConfig::default().out)]
[INFO] [stdout] 191 | |     pub out: Option<AbsolutePath>,
[INFO] [stdout]     | |_________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 188 ~     <AbsolutePath as Into<_>>::into(/// Directory where secret values (literals) are materialized
[INFO] [stdout] 189 |     #[arg(long, env = "DEFAULT_SECRET_DIR")]
[INFO] [stdout] 190 |     #[locket(default = SecretManagerConfig::default().out)]
[INFO] [stdout] 191 ~     pub out: Option<AbsolutePath>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `InjectFailurePolicy`
[INFO] [stdout]    --> src/secrets/config.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | /     /// Policy for handling injection failures
[INFO] [stdout] 194 | |     #[arg(long, env = "INJECT_POLICY", value_enum)]
[INFO] [stdout] 195 | |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 196 | |     pub inject_failure_policy: Option<InjectFailurePolicy>,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 193 ~     <InjectFailurePolicy as Into<_>>::into(/// Policy for handling injection failures
[INFO] [stdout] 194 |     #[arg(long, env = "INJECT_POLICY", value_enum)]
[INFO] [stdout] 195 |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 196 ~     pub inject_failure_policy: Option<InjectFailurePolicy>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `MemSize`
[INFO] [stdout]    --> src/secrets/config.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 | /     /// Maximum allowable size for a template file. Files larger than this will be rejected.
[INFO] [stdout] 199 | |     ///
[INFO] [stdout] 200 | |     /// Supports human-friendly suffixes like K, M, G (e.g. 10M = 10 Megabytes).
[INFO] [stdout] 201 | |     #[arg(long, env = "MAX_FILE_SIZE")]
[INFO] [stdout] 202 | |     #[locket(default = MemSize::default())]
[INFO] [stdout] 203 | |     pub max_file_size: Option<MemSize>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 198 ~     <MemSize as Into<_>>::into(/// Maximum allowable size for a template file. Files larger than this will be rejected.
[INFO] [stdout] 199 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 202 |     #[locket(default = MemSize::default())]
[INFO] [stdout] 203 ~     pub max_file_size: Option<MemSize>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/secrets/config.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 | /     /// Directory where secret values (literals) are materialized
[INFO] [stdout] 189 | |     #[arg(long, env = "DEFAULT_SECRET_DIR")]
[INFO] [stdout] 190 | |     #[locket(default = SecretManagerConfig::default().out)]
[INFO] [stdout] 191 | |     pub out: Option<AbsolutePath>,
[INFO] [stdout]     | |_________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/secrets/config.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | /     /// Policy for handling injection failures
[INFO] [stdout] 194 | |     #[arg(long, env = "INJECT_POLICY", value_enum)]
[INFO] [stdout] 195 | |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 196 | |     pub inject_failure_policy: Option<InjectFailurePolicy>,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/secrets/config.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 | /     /// Maximum allowable size for a template file. Files larger than this will be rejected.
[INFO] [stdout] 199 | |     ///
[INFO] [stdout] 200 | |     /// Supports human-friendly suffixes like K, M, G (e.g. 10M = 10 Megabytes).
[INFO] [stdout] 201 | |     #[arg(long, env = "MAX_FILE_SIZE")]
[INFO] [stdout] 202 | |     #[locket(default = MemSize::default())]
[INFO] [stdout] 203 | |     pub max_file_size: Option<MemSize>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `MemSize`
[INFO] [stdout]   --> src/volume/config.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     /// Default size of the in-memory filesystem
[INFO] [stdout] 50 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_SIZE")]
[INFO] [stdout] 51 | |     #[locket(default = MountConfig::default().size)]
[INFO] [stdout] 52 | |     pub size: Option<MemSize>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 49 ~     <MemSize as Into<_>>::into(/// Default size of the in-memory filesystem
[INFO] [stdout] 50 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_SIZE")]
[INFO] [stdout] 51 |     #[locket(default = MountConfig::default().size)]
[INFO] [stdout] 52 ~     pub size: Option<MemSize>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `FsMode`
[INFO] [stdout]   --> src/volume/config.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     /// Default file mode for the mounted filesystem
[INFO] [stdout] 54 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_MODE")]
[INFO] [stdout] 55 | |     #[locket(default = MountConfig::default().mode)]
[INFO] [stdout] 56 | |     pub mode: Option<FsMode>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 53 ~     <FsMode as Into<_>>::into(/// Default file mode for the mounted filesystem
[INFO] [stdout] 54 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_MODE")]
[INFO] [stdout] 55 |     #[locket(default = MountConfig::default().mode)]
[INFO] [stdout] 56 ~     pub mode: Option<FsMode>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `MountFlags`
[INFO] [stdout]   --> src/volume/config.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     /// Default mount flags for the in-memory filesystem
[INFO] [stdout] 58 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_FLAGS")]
[INFO] [stdout] 59 | |     #[locket(default = MountConfig::default().flags)]
[INFO] [stdout] 60 | |     pub flags: Option<MountFlags>,
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 57 ~     <MountFlags as Into<_>>::into(/// Default mount flags for the in-memory filesystem
[INFO] [stdout] 58 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_FLAGS")]
[INFO] [stdout] 59 |     #[locket(default = MountConfig::default().flags)]
[INFO] [stdout] 60 ~     pub flags: Option<MountFlags>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/volume/config.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     /// Default size of the in-memory filesystem
[INFO] [stdout] 50 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_SIZE")]
[INFO] [stdout] 51 | |     #[locket(default = MountConfig::default().size)]
[INFO] [stdout] 52 | |     pub size: Option<MemSize>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/volume/config.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     /// Default file mode for the mounted filesystem
[INFO] [stdout] 54 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_MODE")]
[INFO] [stdout] 55 | |     #[locket(default = MountConfig::default().mode)]
[INFO] [stdout] 56 | |     pub mode: Option<FsMode>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/volume/config.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     /// Default mount flags for the in-memory filesystem
[INFO] [stdout] 58 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_FLAGS")]
[INFO] [stdout] 59 | |     #[locket(default = MountConfig::default().flags)]
[INFO] [stdout] 60 | |     pub flags: Option<MountFlags>,
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `bool`
[INFO] [stdout]   --> src/volume/config.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | /     /// Default behavior for file watching.
[INFO] [stdout] 84 | |     ///
[INFO] [stdout] 85 | |     /// If set to true, the volume will watch for changes in the secrets
[INFO] [stdout] 86 | |     /// and update the files accordingly.
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     #[locket(default = false)]
[INFO] [stdout] 95 | |     pub watch: Option<bool>,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 83 ~     <bool as Into<_>>::into(/// Default behavior for file watching.
[INFO] [stdout] 84 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 94 |     #[locket(default = false)]
[INFO] [stdout] 95 ~     pub watch: Option<bool>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `InjectFailurePolicy`
[INFO] [stdout]    --> src/volume/config.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     /// Default policy for handling failures when errors are encountered
[INFO] [stdout]  98 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_INJECT_POLICY", value_enum)]
[INFO] [stdout]  99 | |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 100 | |     pub inject_failure_policy: Option<InjectFailurePolicy>,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout]  97 ~     <InjectFailurePolicy as Into<_>>::into(/// Default policy for handling failures when errors are encountered
[INFO] [stdout]  98 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_INJECT_POLICY", value_enum)]
[INFO] [stdout]  99 |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 100 ~     pub inject_failure_policy: Option<InjectFailurePolicy>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `MemSize`
[INFO] [stdout]    --> src/volume/config.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     /// Default maximum size of individual secret files
[INFO] [stdout] 103 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MAX_FILE_SIZE")]
[INFO] [stdout] 104 | |     #[locket(default = MemSize::from_mb(10))]
[INFO] [stdout] 105 | |     pub max_file_size: Option<MemSize>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 102 ~     <MemSize as Into<_>>::into(/// Default maximum size of individual secret files
[INFO] [stdout] 103 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MAX_FILE_SIZE")]
[INFO] [stdout] 104 |     #[locket(default = MemSize::from_mb(10))]
[INFO] [stdout] 105 ~     pub max_file_size: Option<MemSize>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/volume/config.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | /     /// Default behavior for file watching.
[INFO] [stdout] 84 | |     ///
[INFO] [stdout] 85 | |     /// If set to true, the volume will watch for changes in the secrets
[INFO] [stdout] 86 | |     /// and update the files accordingly.
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     #[locket(default = false)]
[INFO] [stdout] 95 | |     pub watch: Option<bool>,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/volume/config.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     /// Default policy for handling failures when errors are encountered
[INFO] [stdout]  98 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_INJECT_POLICY", value_enum)]
[INFO] [stdout]  99 | |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 100 | |     pub inject_failure_policy: Option<InjectFailurePolicy>,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/volume/config.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     /// Default maximum size of individual secret files
[INFO] [stdout] 103 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MAX_FILE_SIZE")]
[INFO] [stdout] 104 | |     #[locket(default = MemSize::from_mb(10))]
[INFO] [stdout] 105 | |     pub max_file_size: Option<MemSize>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `FsMode`
[INFO] [stdout]   --> src/write.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | /     /// File permission mode
[INFO] [stdout] 69 | |     #[clap(long, env = "LOCKET_FILE_MODE")]
[INFO] [stdout] 70 | |     #[locket(default = FsMode::new(0o600))]
[INFO] [stdout] 71 | |     file_mode: Option<FsMode>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 68 ~     <FsMode as Into<_>>::into(/// File permission mode
[INFO] [stdout] 69 |     #[clap(long, env = "LOCKET_FILE_MODE")]
[INFO] [stdout] 70 |     #[locket(default = FsMode::new(0o600))]
[INFO] [stdout] 71 ~     file_mode: Option<FsMode>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `FsMode`
[INFO] [stdout]   --> src/write.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | /     /// Directory permission mode
[INFO] [stdout] 73 | |     #[clap(long, env = "LOCKET_DIR_MODE")]
[INFO] [stdout] 74 | |     #[locket(default = FsMode::new(0o700))]
[INFO] [stdout] 75 | |     dir_mode: Option<FsMode>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 72 ~     <FsMode as Into<_>>::into(/// Directory permission mode
[INFO] [stdout] 73 |     #[clap(long, env = "LOCKET_DIR_MODE")]
[INFO] [stdout] 74 |     #[locket(default = FsMode::new(0o700))]
[INFO] [stdout] 75 ~     dir_mode: Option<FsMode>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/write.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | /     /// File permission mode
[INFO] [stdout] 69 | |     #[clap(long, env = "LOCKET_FILE_MODE")]
[INFO] [stdout] 70 | |     #[locket(default = FsMode::new(0o600))]
[INFO] [stdout] 71 | |     file_mode: Option<FsMode>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/write.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | /     /// Directory permission mode
[INFO] [stdout] 73 | |     #[clap(long, env = "LOCKET_DIR_MODE")]
[INFO] [stdout] 74 | |     #[locket(default = FsMode::new(0o700))]
[INFO] [stdout] 75 | |     dir_mode: Option<FsMode>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `locket` (lib) due to 52 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `bool`
[INFO] [stdout]   --> src/cmd/config/exec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     /// Watch mode will monitor for changes to .env files and restart the command if changes are detected.
[INFO] [stdout] 29 | |     #[arg(
[INFO] [stdout] 30 | |         long,
[INFO] [stdout] 31 | |         env = "LOCKET_EXEC_WATCH",
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |     #[locket(default = false)]
[INFO] [stdout] 37 | |     pub watch: Option<bool>,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     <bool as Into<_>>::into(/// Watch mode will monitor for changes to .env files and restart the command if changes are detected.
[INFO] [stdout] 29 |     #[arg(
[INFO] [stdout] ...
[INFO] [stdout] 36 |     #[locket(default = false)]
[INFO] [stdout] 37 ~     pub watch: Option<bool>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ProcessTimeout`
[INFO] [stdout]    --> src/cmd/config/exec.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     /// Timeout duration for process termination signals.
[INFO] [stdout] 102 | |     ///
[INFO] [stdout] 103 | |     /// Unitless numbers are interpreted as seconds.
[INFO] [stdout] 104 | |     #[arg(long, env = "LOCKET_EXEC_TIMEOUT")]
[INFO] [stdout] 105 | |     #[locket(default = ProcessTimeout::default())]
[INFO] [stdout] 106 | |     pub timeout: Option<ProcessTimeout>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 101 ~     <ProcessTimeout as Into<_>>::into(/// Timeout duration for process termination signals.
[INFO] [stdout] 102 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 105 |     #[locket(default = ProcessTimeout::default())]
[INFO] [stdout] 106 ~     pub timeout: Option<ProcessTimeout>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `DebounceDuration`
[INFO] [stdout]    --> src/cmd/config/exec.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | /     /// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 109 | |     ///
[INFO] [stdout] 110 | |     /// Events occurring within this duration will be coalesced into a single update
[INFO] [stdout] 111 | |     /// so as to not overwhelm the secrets manager with rapid successive updates from
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 118 | |     pub debounce: Option<DebounceDuration>,
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 108 ~     <DebounceDuration as Into<_>>::into(/// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 109 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 117 |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 118 ~     pub debounce: Option<DebounceDuration>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/exec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     /// Watch mode will monitor for changes to .env files and restart the command if changes are detected.
[INFO] [stdout] 29 | |     #[arg(
[INFO] [stdout] 30 | |         long,
[INFO] [stdout] 31 | |         env = "LOCKET_EXEC_WATCH",
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |     #[locket(default = false)]
[INFO] [stdout] 37 | |     pub watch: Option<bool>,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/cmd/config/exec.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     /// Timeout duration for process termination signals.
[INFO] [stdout] 102 | |     ///
[INFO] [stdout] 103 | |     /// Unitless numbers are interpreted as seconds.
[INFO] [stdout] 104 | |     #[arg(long, env = "LOCKET_EXEC_TIMEOUT")]
[INFO] [stdout] 105 | |     #[locket(default = ProcessTimeout::default())]
[INFO] [stdout] 106 | |     pub timeout: Option<ProcessTimeout>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/cmd/config/exec.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | /     /// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 109 | |     ///
[INFO] [stdout] 110 | |     /// Events occurring within this duration will be coalesced into a single update
[INFO] [stdout] 111 | |     /// so as to not overwhelm the secrets manager with rapid successive updates from
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 118 | |     pub debounce: Option<DebounceDuration>,
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `InjectMode`
[INFO] [stdout]   --> src/cmd/config/inject.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// Mode of operation
[INFO] [stdout] 46 | |     #[arg(long, env = "LOCKET_INJECT_MODE", value_enum)]
[INFO] [stdout] 47 | |     #[locket(default = InjectMode::OneShot)]
[INFO] [stdout] 48 | |     pub mode: Option<InjectMode>,
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 ~     <InjectMode as Into<_>>::into(/// Mode of operation
[INFO] [stdout] 46 |     #[arg(long, env = "LOCKET_INJECT_MODE", value_enum)]
[INFO] [stdout] 47 |     #[locket(default = InjectMode::OneShot)]
[INFO] [stdout] 48 ~     pub mode: Option<InjectMode>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `DebounceDuration`
[INFO] [stdout]   --> src/cmd/config/inject.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     /// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 65 | |     ///
[INFO] [stdout] 66 | |     /// Events occurring within this duration will be coalesced into a single update
[INFO] [stdout] 67 | |     /// so as to not overwhelm the secrets manager with rapid successive updates from
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 74 | |     pub debounce: Option<DebounceDuration>,
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 64 ~     <DebounceDuration as Into<_>>::into(/// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 65 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 73 |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 74 ~     pub debounce: Option<DebounceDuration>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/inject.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// Mode of operation
[INFO] [stdout] 46 | |     #[arg(long, env = "LOCKET_INJECT_MODE", value_enum)]
[INFO] [stdout] 47 | |     #[locket(default = InjectMode::OneShot)]
[INFO] [stdout] 48 | |     pub mode: Option<InjectMode>,
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/inject.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     /// Debounce duration for filesystem events in watch mode.
[INFO] [stdout] 65 | |     ///
[INFO] [stdout] 66 | |     /// Events occurring within this duration will be coalesced into a single update
[INFO] [stdout] 67 | |     /// so as to not overwhelm the secrets manager with rapid successive updates from
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |     #[locket(default = DebounceDuration::default())]
[INFO] [stdout] 74 | |     pub debounce: Option<DebounceDuration>,
[INFO] [stdout]    | |__________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/volume.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     /// Path to the listening socket.
[INFO] [stdout] 22 | |     #[arg(long, env = "LOCKET_PLUGIN_SOCKET")]
[INFO] [stdout] 23 | |     #[locket(default = "/run/docker/plugins/locket.sock")]
[INFO] [stdout] 24 | |     pub socket: Option<AbsolutePath>,
[INFO] [stdout]    | |____________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/volume.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     /// Path to directory where state configuration is stored.
[INFO] [stdout] 27 | |     ///
[INFO] [stdout] 28 | |     /// This is where the plugin will store necessary data to reload configured volumes from cold start
[INFO] [stdout] 29 | |     #[arg(long, env = "LOCKET_PLUGIN_STATE_DIR")]
[INFO] [stdout] 30 | |     #[locket(default = "/var/lib/locket")]
[INFO] [stdout] 31 | |     pub state_dir: Option<AbsolutePath>,
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/cmd/config/volume.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | /     /// Path to directory where runtime data is stored.
[INFO] [stdout] 34 | |     ///
[INFO] [stdout] 35 | |     /// This is where volumes are physically mounted on the host filesystem.
[INFO] [stdout] 36 | |     #[arg(long, env = "LOCKET_PLUGIN_RUNTIME_DIR")]
[INFO] [stdout] 37 | |     #[locket(default = "/var/lib/locket")]
[INFO] [stdout] 38 | |     pub runtime_dir: Option<AbsolutePath>,
[INFO] [stdout]    | |_________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/config.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 | /         #[arg(long)]
[INFO] [stdout] 213 | |         #[locket(default = TestConfig::default().name)]
[INFO] [stdout] 214 | |         pub name: Option<String>,
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/config.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 | /         #[arg(long)]
[INFO] [stdout] 217 | |         #[locket(default = TestConfig::default().port)]
[INFO] [stdout] 218 | |         pub port: Option<u16>,
[INFO] [stdout]     | |_____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LogFormat`
[INFO] [stdout]    --> src/logging.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     /// Log format
[INFO] [stdout] 115 | |     #[arg(long, env = "LOCKET_LOG_FORMAT")]
[INFO] [stdout] 116 | |     #[locket(default = LogFormat::Text)]
[INFO] [stdout] 117 | |     pub log_format: Option<LogFormat>,
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 114 ~     <LogFormat as Into<_>>::into(/// Log format
[INFO] [stdout] 115 |     #[arg(long, env = "LOCKET_LOG_FORMAT")]
[INFO] [stdout] 116 |     #[locket(default = LogFormat::Text)]
[INFO] [stdout] 117 ~     pub log_format: Option<LogFormat>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `LogLevel`
[INFO] [stdout]    --> src/logging.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     /// Log level
[INFO] [stdout] 120 | |     #[arg(long, env = "LOCKET_LOG_LEVEL")]
[INFO] [stdout] 121 | |     #[locket(default = LogLevel::Info)]
[INFO] [stdout] 122 | |     pub log_level: Option<LogLevel>,
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 119 ~     <LogLevel as Into<_>>::into(/// Log level
[INFO] [stdout] 120 |     #[arg(long, env = "LOCKET_LOG_LEVEL")]
[INFO] [stdout] 121 |     #[locket(default = LogLevel::Info)]
[INFO] [stdout] 122 ~     pub log_level: Option<LogLevel>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/logging.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     /// Log format
[INFO] [stdout] 115 | |     #[arg(long, env = "LOCKET_LOG_FORMAT")]
[INFO] [stdout] 116 | |     #[locket(default = LogFormat::Text)]
[INFO] [stdout] 117 | |     pub log_format: Option<LogFormat>,
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/logging.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     /// Log level
[INFO] [stdout] 120 | |     #[arg(long, env = "LOCKET_LOG_LEVEL")]
[INFO] [stdout] 121 | |     #[locket(default = LogLevel::Info)]
[INFO] [stdout] 122 | |     pub log_level: Option<LogLevel>,
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ConcurrencyLimit`
[INFO] [stdout]   --> src/provider/config/bws.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     /// Maximum number of concurrent requests to Bitwarden Secrets Manager
[INFO] [stdout] 48 | |     #[arg(long, env = "BWS_MAX_CONCURRENT")]
[INFO] [stdout] 49 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 50 | |     pub bws_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 47 ~     <ConcurrencyLimit as Into<_>>::into(/// Maximum number of concurrent requests to Bitwarden Secrets Manager
[INFO] [stdout] 48 |     #[arg(long, env = "BWS_MAX_CONCURRENT")]
[INFO] [stdout] 49 |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 50 ~     pub bws_max_concurrent: Option<ConcurrencyLimit>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/bws.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | /     /// Bitwarden API URL
[INFO] [stdout] 38 | |     #[arg(long, env = "BWS_API_URL")]
[INFO] [stdout] 39 | |     #[locket(default = "https://api.bitwarden.com")]
[INFO] [stdout] 40 | |     pub bws_api_url: Option<BwsUrl>,
[INFO] [stdout]    | |___________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/bws.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     /// Bitwarden Identity URL
[INFO] [stdout] 43 | |     #[arg(long, env = "BWS_IDENTITY_URL")]
[INFO] [stdout] 44 | |     #[locket(default = "https://identity.bitwarden.com")]
[INFO] [stdout] 45 | |     pub bws_identity_url: Option<BwsUrl>,
[INFO] [stdout]    | |________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/bws.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     /// Maximum number of concurrent requests to Bitwarden Secrets Manager
[INFO] [stdout] 48 | |     #[arg(long, env = "BWS_MAX_CONCURRENT")]
[INFO] [stdout] 49 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 50 | |     pub bws_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/bws.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | /     /// BWS User Agent
[INFO] [stdout] 53 | |     #[arg(long, env = "BWS_USER_AGENT")]
[INFO] [stdout] 54 | |     #[locket(default = env!("CARGO_PKG_NAME"))]
[INFO] [stdout] 55 | |     pub bws_user_agent: Option<String>,
[INFO] [stdout]    | |______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ConcurrencyLimit`
[INFO] [stdout]   --> src/provider/config/connect.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// Maximum allowed concurrent requests to Connect API
[INFO] [stdout] 46 | |     #[arg(long, env = "OP_CONNECT_MAX_CONCURRENT")]
[INFO] [stdout] 47 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 48 | |     pub connect_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 ~     <ConcurrencyLimit as Into<_>>::into(/// Maximum allowed concurrent requests to Connect API
[INFO] [stdout] 46 |     #[arg(long, env = "OP_CONNECT_MAX_CONCURRENT")]
[INFO] [stdout] 47 |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 48 ~     pub connect_max_concurrent: Option<ConcurrencyLimit>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/connect.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// Maximum allowed concurrent requests to Connect API
[INFO] [stdout] 46 | |     #[arg(long, env = "OP_CONNECT_MAX_CONCURRENT")]
[INFO] [stdout] 47 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 48 | |     pub connect_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `references::infisical::InfisicalSecretType`
[INFO] [stdout]   --> src/provider/config/infisical.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     /// The default secret type to use when one is not specified.
[INFO] [stdout] 72 | |     #[arg(long, env = "INFISICAL_DEFAULT_SECRET_TYPE")]
[INFO] [stdout] 73 | |     #[locket(default = InfisicalSecretType::Shared)]
[INFO] [stdout] 74 | |     pub infisical_default_secret_type: Option<InfisicalSecretType>,
[INFO] [stdout]    | |__________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 71 ~     <references::infisical::InfisicalSecretType as Into<_>>::into(/// The default secret type to use when one is not specified.
[INFO] [stdout] 72 |     #[arg(long, env = "INFISICAL_DEFAULT_SECRET_TYPE")]
[INFO] [stdout] 73 |     #[locket(default = InfisicalSecretType::Shared)]
[INFO] [stdout] 74 ~     pub infisical_default_secret_type: Option<InfisicalSecretType>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ConcurrencyLimit`
[INFO] [stdout]   --> src/provider/config/infisical.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     /// Maximum allowed concurrent requests to Infisical API.
[INFO] [stdout] 77 | |     #[arg(long, env = "INFISICAL_MAX_CONCURRENT")]
[INFO] [stdout] 78 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 79 | |     pub infisical_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |__________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 76 ~     <ConcurrencyLimit as Into<_>>::into(/// Maximum allowed concurrent requests to Infisical API.
[INFO] [stdout] 77 |     #[arg(long, env = "INFISICAL_MAX_CONCURRENT")]
[INFO] [stdout] 78 |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 79 ~     pub infisical_max_concurrent: Option<ConcurrencyLimit>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/infisical.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | /     /// The URL of the Infisical instance to connect to.
[INFO] [stdout] 44 | |     #[arg(long, env = "INFISICAL_URL")]
[INFO] [stdout] 45 | |     #[locket(default = "https://us.infisical.com")]
[INFO] [stdout] 46 | |     pub infisical_url: Option<url::Url>,
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/infisical.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | /     /// The default path to use when one is not specified.
[INFO] [stdout] 67 | |     #[arg(long, env = "INFISICAL_DEFAULT_PATH")]
[INFO] [stdout] 68 | |     #[locket(default = "/")]
[INFO] [stdout] 69 | |     pub infisical_default_path: Option<InfisicalPath>,
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/infisical.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | /     /// The default secret type to use when one is not specified.
[INFO] [stdout] 72 | |     #[arg(long, env = "INFISICAL_DEFAULT_SECRET_TYPE")]
[INFO] [stdout] 73 | |     #[locket(default = InfisicalSecretType::Shared)]
[INFO] [stdout] 74 | |     pub infisical_default_secret_type: Option<InfisicalSecretType>,
[INFO] [stdout]    | |__________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/provider/config/infisical.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | /     /// Maximum allowed concurrent requests to Infisical API.
[INFO] [stdout] 77 | |     #[arg(long, env = "INFISICAL_MAX_CONCURRENT")]
[INFO] [stdout] 78 | |     #[locket(default = ConcurrencyLimit::new(20))]
[INFO] [stdout] 79 | |     pub infisical_max_concurrent: Option<ConcurrencyLimit>,
[INFO] [stdout]    | |__________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `path::AbsolutePath`
[INFO] [stdout]    --> src/secrets/config.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 | /     /// Directory where secret values (literals) are materialized
[INFO] [stdout] 189 | |     #[arg(long, env = "DEFAULT_SECRET_DIR")]
[INFO] [stdout] 190 | |     #[locket(default = SecretManagerConfig::default().out)]
[INFO] [stdout] 191 | |     pub out: Option<AbsolutePath>,
[INFO] [stdout]     | |_________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 188 ~     <path::AbsolutePath as Into<_>>::into(/// Directory where secret values (literals) are materialized
[INFO] [stdout] 189 |     #[arg(long, env = "DEFAULT_SECRET_DIR")]
[INFO] [stdout] 190 |     #[locket(default = SecretManagerConfig::default().out)]
[INFO] [stdout] 191 ~     pub out: Option<AbsolutePath>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `InjectFailurePolicy`
[INFO] [stdout]    --> src/secrets/config.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | /     /// Policy for handling injection failures
[INFO] [stdout] 194 | |     #[arg(long, env = "INJECT_POLICY", value_enum)]
[INFO] [stdout] 195 | |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 196 | |     pub inject_failure_policy: Option<InjectFailurePolicy>,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 193 ~     <InjectFailurePolicy as Into<_>>::into(/// Policy for handling injection failures
[INFO] [stdout] 194 |     #[arg(long, env = "INJECT_POLICY", value_enum)]
[INFO] [stdout] 195 |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 196 ~     pub inject_failure_policy: Option<InjectFailurePolicy>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `MemSize`
[INFO] [stdout]    --> src/secrets/config.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 | /     /// Maximum allowable size for a template file. Files larger than this will be rejected.
[INFO] [stdout] 199 | |     ///
[INFO] [stdout] 200 | |     /// Supports human-friendly suffixes like K, M, G (e.g. 10M = 10 Megabytes).
[INFO] [stdout] 201 | |     #[arg(long, env = "MAX_FILE_SIZE")]
[INFO] [stdout] 202 | |     #[locket(default = MemSize::default())]
[INFO] [stdout] 203 | |     pub max_file_size: Option<MemSize>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 198 ~     <MemSize as Into<_>>::into(/// Maximum allowable size for a template file. Files larger than this will be rejected.
[INFO] [stdout] 199 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 202 |     #[locket(default = MemSize::default())]
[INFO] [stdout] 203 ~     pub max_file_size: Option<MemSize>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/secrets/config.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 | /     /// Directory where secret values (literals) are materialized
[INFO] [stdout] 189 | |     #[arg(long, env = "DEFAULT_SECRET_DIR")]
[INFO] [stdout] 190 | |     #[locket(default = SecretManagerConfig::default().out)]
[INFO] [stdout] 191 | |     pub out: Option<AbsolutePath>,
[INFO] [stdout]     | |_________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/secrets/config.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | /     /// Policy for handling injection failures
[INFO] [stdout] 194 | |     #[arg(long, env = "INJECT_POLICY", value_enum)]
[INFO] [stdout] 195 | |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 196 | |     pub inject_failure_policy: Option<InjectFailurePolicy>,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/secrets/config.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 | /     /// Maximum allowable size for a template file. Files larger than this will be rejected.
[INFO] [stdout] 199 | |     ///
[INFO] [stdout] 200 | |     /// Supports human-friendly suffixes like K, M, G (e.g. 10M = 10 Megabytes).
[INFO] [stdout] 201 | |     #[arg(long, env = "MAX_FILE_SIZE")]
[INFO] [stdout] 202 | |     #[locket(default = MemSize::default())]
[INFO] [stdout] 203 | |     pub max_file_size: Option<MemSize>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `MemSize`
[INFO] [stdout]   --> src/volume/config.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     /// Default size of the in-memory filesystem
[INFO] [stdout] 50 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_SIZE")]
[INFO] [stdout] 51 | |     #[locket(default = MountConfig::default().size)]
[INFO] [stdout] 52 | |     pub size: Option<MemSize>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 49 ~     <MemSize as Into<_>>::into(/// Default size of the in-memory filesystem
[INFO] [stdout] 50 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_SIZE")]
[INFO] [stdout] 51 |     #[locket(default = MountConfig::default().size)]
[INFO] [stdout] 52 ~     pub size: Option<MemSize>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `write::FsMode`
[INFO] [stdout]   --> src/volume/config.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     /// Default file mode for the mounted filesystem
[INFO] [stdout] 54 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_MODE")]
[INFO] [stdout] 55 | |     #[locket(default = MountConfig::default().mode)]
[INFO] [stdout] 56 | |     pub mode: Option<FsMode>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 53 ~     <write::FsMode as Into<_>>::into(/// Default file mode for the mounted filesystem
[INFO] [stdout] 54 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_MODE")]
[INFO] [stdout] 55 |     #[locket(default = MountConfig::default().mode)]
[INFO] [stdout] 56 ~     pub mode: Option<FsMode>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `MountFlags`
[INFO] [stdout]   --> src/volume/config.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     /// Default mount flags for the in-memory filesystem
[INFO] [stdout] 58 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_FLAGS")]
[INFO] [stdout] 59 | |     #[locket(default = MountConfig::default().flags)]
[INFO] [stdout] 60 | |     pub flags: Option<MountFlags>,
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 57 ~     <MountFlags as Into<_>>::into(/// Default mount flags for the in-memory filesystem
[INFO] [stdout] 58 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_FLAGS")]
[INFO] [stdout] 59 |     #[locket(default = MountConfig::default().flags)]
[INFO] [stdout] 60 ~     pub flags: Option<MountFlags>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/volume/config.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     /// Default size of the in-memory filesystem
[INFO] [stdout] 50 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_SIZE")]
[INFO] [stdout] 51 | |     #[locket(default = MountConfig::default().size)]
[INFO] [stdout] 52 | |     pub size: Option<MemSize>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/volume/config.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     /// Default file mode for the mounted filesystem
[INFO] [stdout] 54 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_MODE")]
[INFO] [stdout] 55 | |     #[locket(default = MountConfig::default().mode)]
[INFO] [stdout] 56 | |     pub mode: Option<FsMode>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/volume/config.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     /// Default mount flags for the in-memory filesystem
[INFO] [stdout] 58 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MOUNT_FLAGS")]
[INFO] [stdout] 59 | |     #[locket(default = MountConfig::default().flags)]
[INFO] [stdout] 60 | |     pub flags: Option<MountFlags>,
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `bool`
[INFO] [stdout]   --> src/volume/config.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | /     /// Default behavior for file watching.
[INFO] [stdout] 84 | |     ///
[INFO] [stdout] 85 | |     /// If set to true, the volume will watch for changes in the secrets
[INFO] [stdout] 86 | |     /// and update the files accordingly.
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     #[locket(default = false)]
[INFO] [stdout] 95 | |     pub watch: Option<bool>,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 83 ~     <bool as Into<_>>::into(/// Default behavior for file watching.
[INFO] [stdout] 84 |     ///
[INFO] [stdout] ...
[INFO] [stdout] 94 |     #[locket(default = false)]
[INFO] [stdout] 95 ~     pub watch: Option<bool>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `InjectFailurePolicy`
[INFO] [stdout]    --> src/volume/config.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     /// Default policy for handling failures when errors are encountered
[INFO] [stdout]  98 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_INJECT_POLICY", value_enum)]
[INFO] [stdout]  99 | |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 100 | |     pub inject_failure_policy: Option<InjectFailurePolicy>,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout]  97 ~     <InjectFailurePolicy as Into<_>>::into(/// Default policy for handling failures when errors are encountered
[INFO] [stdout]  98 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_INJECT_POLICY", value_enum)]
[INFO] [stdout]  99 |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 100 ~     pub inject_failure_policy: Option<InjectFailurePolicy>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `MemSize`
[INFO] [stdout]    --> src/volume/config.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     /// Default maximum size of individual secret files
[INFO] [stdout] 103 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MAX_FILE_SIZE")]
[INFO] [stdout] 104 | |     #[locket(default = MemSize::from_mb(10))]
[INFO] [stdout] 105 | |     pub max_file_size: Option<MemSize>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 102 ~     <MemSize as Into<_>>::into(/// Default maximum size of individual secret files
[INFO] [stdout] 103 |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MAX_FILE_SIZE")]
[INFO] [stdout] 104 |     #[locket(default = MemSize::from_mb(10))]
[INFO] [stdout] 105 ~     pub max_file_size: Option<MemSize>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/volume/config.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | /     /// Default behavior for file watching.
[INFO] [stdout] 84 | |     ///
[INFO] [stdout] 85 | |     /// If set to true, the volume will watch for changes in the secrets
[INFO] [stdout] 86 | |     /// and update the files accordingly.
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     #[locket(default = false)]
[INFO] [stdout] 95 | |     pub watch: Option<bool>,
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/volume/config.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     /// Default policy for handling failures when errors are encountered
[INFO] [stdout]  98 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_INJECT_POLICY", value_enum)]
[INFO] [stdout]  99 | |     #[locket(default = InjectFailurePolicy::Passthrough)]
[INFO] [stdout] 100 | |     pub inject_failure_policy: Option<InjectFailurePolicy>,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/volume/config.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | /     /// Default maximum size of individual secret files
[INFO] [stdout] 103 | |     #[arg(long, env = "LOCKET_VOLUME_DEFAULT_MAX_FILE_SIZE")]
[INFO] [stdout] 104 | |     #[locket(default = MemSize::from_mb(10))]
[INFO] [stdout] 105 | |     pub max_file_size: Option<MemSize>,
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `write::FsMode`
[INFO] [stdout]   --> src/write.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | /     /// File permission mode
[INFO] [stdout] 69 | |     #[clap(long, env = "LOCKET_FILE_MODE")]
[INFO] [stdout] 70 | |     #[locket(default = FsMode::new(0o600))]
[INFO] [stdout] 71 | |     file_mode: Option<FsMode>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 68 ~     <write::FsMode as Into<_>>::into(/// File permission mode
[INFO] [stdout] 69 |     #[clap(long, env = "LOCKET_FILE_MODE")]
[INFO] [stdout] 70 |     #[locket(default = FsMode::new(0o600))]
[INFO] [stdout] 71 ~     file_mode: Option<FsMode>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `write::FsMode`
[INFO] [stdout]   --> src/write.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | /     /// Directory permission mode
[INFO] [stdout] 73 | |     #[clap(long, env = "LOCKET_DIR_MODE")]
[INFO] [stdout] 74 | |     #[locket(default = FsMode::new(0o700))]
[INFO] [stdout] 75 | |     dir_mode: Option<FsMode>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 72 ~     <write::FsMode as Into<_>>::into(/// Directory permission mode
[INFO] [stdout] 73 |     #[clap(long, env = "LOCKET_DIR_MODE")]
[INFO] [stdout] 74 |     #[locket(default = FsMode::new(0o700))]
[INFO] [stdout] 75 ~     dir_mode: Option<FsMode>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/write.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | /     /// File permission mode
[INFO] [stdout] 69 | |     #[clap(long, env = "LOCKET_FILE_MODE")]
[INFO] [stdout] 70 | |     #[locket(default = FsMode::new(0o600))]
[INFO] [stdout] 71 | |     file_mode: Option<FsMode>,
[INFO] [stdout]    | |_____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> src/write.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | /     /// Directory permission mode
[INFO] [stdout] 73 | |     #[clap(long, env = "LOCKET_DIR_MODE")]
[INFO] [stdout] 74 | |     #[locket(default = FsMode::new(0o700))]
[INFO] [stdout] 75 | |     dir_mode: Option<FsMode>,
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `locket` (lib test) due to 54 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5", kill_on_drop: false }`
[INFO] [stdout] 088b01b1cd164e35dbf30c217855b605477c7dd859eb31e32abb45549929b6b5
