[INFO] fetching crate tailscale-client 0.1.5...
[INFO] checking tailscale-client-0.1.5 against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] extracting crate tailscale-client 0.1.5 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate tailscale-client 0.1.5
[INFO] finished tweaking crates.io crate tailscale-client 0.1.5
[INFO] tweaked toml for crates.io crate tailscale-client 0.1.5 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tailscale-client 0.1.5 on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 254 packages to latest compatible versions
[INFO] [stderr]       Adding testcontainers v0.23.3 (available: v0.25.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 478c3f3393e30252c0695300b525a65ef296bb30c4de9df65b1434886bfd058c
[INFO] running `Command { std: "docker" "start" "-a" "478c3f3393e30252c0695300b525a65ef296bb30c4de9df65b1434886bfd058c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "478c3f3393e30252c0695300b525a65ef296bb30c4de9df65b1434886bfd058c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "478c3f3393e30252c0695300b525a65ef296bb30c4de9df65b1434886bfd058c", kill_on_drop: false }`
[INFO] [stdout] 478c3f3393e30252c0695300b525a65ef296bb30c4de9df65b1434886bfd058c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2cdc321b5162a537a27570a155712f7861c17a2eaf6c9c27c7ca3a954e2628be
[INFO] running `Command { std: "docker" "start" "-a" "2cdc321b5162a537a27570a155712f7861c17a2eaf6c9c27c7ca3a954e2628be", kill_on_drop: false }`
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]    Compiling rustls v0.23.33
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]    Compiling structmeta-derive v0.3.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking rustls-webpki v0.103.7
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]    Compiling structmeta v0.3.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking native-tls v0.2.14
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling parse-display-derive v0.9.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking rustls-native-certs v0.8.2
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking filetime v0.2.26
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking docker_credential v1.3.2
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]     Checking etcetera v0.8.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling serde_with_macros v3.15.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking serde_with v3.15.0
[INFO] [stderr]     Checking parse-display v0.9.1
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-tar v0.3.1
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking bollard-stubs v1.47.1-rc.27.3.1
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking hyperlocal v0.9.1
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking bollard v0.18.1
[INFO] [stderr]     Checking testcontainers v0.23.3
[INFO] [stderr]     Checking tailscale-client v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/lib.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{anyhow, Error, Result};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::WaitFor`
[INFO] [stdout]  --> src/lib.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use testcontainers::{core::WaitFor, runners::AsyncRunner, GenericImage, ImageExt};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/lib.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{anyhow, Error, Result};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `testcontainers::core::ExecCommand`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use testcontainers::core::ExecCommand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage`, `ImageExt`, `core::WaitFor`, and `runners::AsyncRunner`
[INFO] [stdout]  --> src/lib.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use testcontainers::{core::WaitFor, runners::AsyncRunner, GenericImage, ImageExt};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expirySeconds` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     pub expirySeconds: Option<u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expiry_seconds`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub userId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub nodeId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientVersion` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |     pub clientVersion: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateAvailable` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub updateAvailable: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_available`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastSeen` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub lastSeen: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `last_seen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `keyExpiryDisabled` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub keyExpiryDisabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `key_expiry_disabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isExternal` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub isExternal: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `is_external`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `machineKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |     pub machineKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `machine_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub nodeKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `node_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blocksIncomingConnections` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub blocksIncomingConnections: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `blocks_incoming_connections`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enabledRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub enabledRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enabled_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `advertisedRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:423:9
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub advertisedRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `advertised_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientConnectivity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub clientConnectivity: Option<ClientConnectivity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_connectivity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockError` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub tailnetLockError: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:427:9
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub tailnetLockKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postureIdentity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:428:9
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub postureIdentity: Option<PostureIdentity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `posture_identity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mappingVariesByDestIP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:436:9
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub mappingVariesByDestIP: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mapping_varies_by_dest_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientSupports` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub clientSupports: Option<ClientSupports>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_supports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `latencyMs` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub latencyMs: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `latency_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hairPinning` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub hairPinning: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `hair_pinning`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serialNumbers` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     pub serialNumbers: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `serial_numbers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expirySeconds` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     pub expirySeconds: Option<u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expiry_seconds`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub userId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub nodeId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientVersion` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |     pub clientVersion: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateAvailable` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub updateAvailable: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_available`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastSeen` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub lastSeen: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `last_seen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `keyExpiryDisabled` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub keyExpiryDisabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `key_expiry_disabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isExternal` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub isExternal: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `is_external`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `machineKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |     pub machineKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `machine_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub nodeKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `node_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blocksIncomingConnections` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub blocksIncomingConnections: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `blocks_incoming_connections`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enabledRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub enabledRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enabled_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `advertisedRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:423:9
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub advertisedRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `advertised_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientConnectivity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub clientConnectivity: Option<ClientConnectivity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_connectivity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockError` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub tailnetLockError: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:427:9
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub tailnetLockKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postureIdentity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:428:9
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub postureIdentity: Option<PostureIdentity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `posture_identity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mappingVariesByDestIP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:436:9
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub mappingVariesByDestIP: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mapping_varies_by_dest_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientSupports` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub clientSupports: Option<ClientSupports>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_supports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `latencyMs` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub latencyMs: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `latency_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hairPinning` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub hairPinning: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `hair_pinning`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serialNumbers` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     pub serialNumbers: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `serial_numbers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.61s
[INFO] running `Command { std: "docker" "inspect" "2cdc321b5162a537a27570a155712f7861c17a2eaf6c9c27c7ca3a954e2628be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2cdc321b5162a537a27570a155712f7861c17a2eaf6c9c27c7ca3a954e2628be", kill_on_drop: false }`
[INFO] [stdout] 2cdc321b5162a537a27570a155712f7861c17a2eaf6c9c27c7ca3a954e2628be
