[INFO] fetching crate bookkeeper-client 0.2.1...
[INFO] checking bookkeeper-client-0.2.1 against master#39cb3386ddc6c71657418be28dbb3987eea4aa4b for pr-133536
[INFO] extracting crate bookkeeper-client 0.2.1 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate bookkeeper-client 0.2.1 on toolchain 39cb3386ddc6c71657418be28dbb3987eea4aa4b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate bookkeeper-client 0.2.1
[INFO] finished tweaking crates.io crate bookkeeper-client 0.2.1
[INFO] tweaked toml for crates.io crate bookkeeper-client 0.2.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 213 packages to latest compatible versions
[INFO] [stderr]       Adding compact_str v0.7.1 (available: v0.8.0)
[INFO] [stderr]       Adding env_logger v0.10.2 (available: v0.11.5)
[INFO] [stderr]       Adding etcd-client v0.11.1 (available: v0.14.0)
[INFO] [stderr]       Adding prost v0.11.9 (available: v0.13.3)
[INFO] [stderr]       Adding strum v0.25.0 (available: v0.26.3)
[INFO] [stderr]       Adding tonic v0.9.2 (available: v0.12.3)
[INFO] [stderr]       Adding tonic-build v0.9.2 (available: v0.12.3)
[INFO] [stderr]       Adding zookeeper-client v0.6.4 (available: v0.9.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crc32c v0.6.8
[INFO] [stderr]   Downloaded ignore-result v0.2.0
[INFO] [stderr]   Downloaded zookeeper-client v0.6.4
[INFO] [stderr]   Downloaded compact_str v0.4.1
[INFO] [stderr]   Downloaded etcd-client v0.11.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd2bf6878390a8d070de444e7fae6e13eb53ece709732535898ded5e70b7a612
[INFO] running `Command { std: "docker" "start" "-a" "fd2bf6878390a8d070de444e7fae6e13eb53ece709732535898ded5e70b7a612", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd2bf6878390a8d070de444e7fae6e13eb53ece709732535898ded5e70b7a612", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd2bf6878390a8d070de444e7fae6e13eb53ece709732535898ded5e70b7a612", kill_on_drop: false }`
[INFO] [stdout] fd2bf6878390a8d070de444e7fae6e13eb53ece709732535898ded5e70b7a612
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2230d2069263eed06a976744571c09e691600bf288605ebd9a7b21edc72bf122
[INFO] running `Command { std: "docker" "start" "-a" "2230d2069263eed06a976744571c09e691600bf288605ebd9a7b21edc72bf122", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling prettyplease v0.1.25
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking allocator-api2 v0.2.20
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.33
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling bytemuck_derive v1.8.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]    Compiling crc32c v0.6.8
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking compact_str v0.4.1
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]     Checking indexmap v1.9.3
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]     Checking ignore-result v0.2.0
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]    Compiling test-log-macros v0.2.16
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking const_format v0.2.33
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking test-log v0.2.16
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking bytemuck v1.20.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking atomic v0.6.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]    Compiling strum_macros v0.23.1
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking hyper v0.14.31
[INFO] [stderr]    Compiling num_enum_derive v0.5.11
[INFO] [stderr]    Compiling prost v0.11.9
[INFO] [stderr]     Checking num_enum v0.5.11
[INFO] [stderr]     Checking strum v0.23.0
[INFO] [stderr]     Checking zookeeper-client v0.6.4
[INFO] [stderr]    Compiling prost-types v0.11.9
[INFO] [stderr]    Compiling prost-build v0.11.9
[INFO] [stderr]    Compiling tonic-build v0.9.2
[INFO] [stderr]    Compiling etcd-client v0.11.1
[INFO] [stderr]    Compiling bookkeeper-client v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking axum v0.6.20
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking tonic v0.9.2
[INFO] [stdout] warning: unused imports: `BookieRegistrationClient`, `BookieServiceInfo`, `BookieUpdateStream`, `LedgerIdStoreClient`, and `LedgerMetadataStoreClient`
[INFO] [stdout]   --> src/meta.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BookieRegistrationClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     BookieServiceInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     BookieUpdateStream,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     LedgerIdStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     LedgerMetadataStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BookieRegistrationClient`, `BookieServiceInfo`, `BookieUpdateStream`, `LedgerIdStoreClient`, and `LedgerMetadataStoreClient`
[INFO] [stdout]   --> src/meta.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BookieRegistrationClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     BookieServiceInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     BookieUpdateStream,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     LedgerIdStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     LedgerMetadataStoreClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `high_priority` is never read
[INFO] [stdout]    --> src/client/bookie.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct AddOptions<'a> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 301 |     pub recovery_add: bool,
[INFO] [stdout] 302 |     pub high_priority: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_add_confirmed` is never read
[INFO] [stdout]    --> src/client/bookie.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub struct FetchedEntry {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 309 |     pub max_lac: EntryId,
[INFO] [stdout] 310 |     pub last_add_confirmed: EntryId,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `high_priority` is never read
[INFO] [stdout]    --> src/client/bookie.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub struct ReadOptions<'a> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 316 |     pub fence_ledger: bool,
[INFO] [stdout] 317 |     pub high_priority: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_quorum_coverage_set` is never used
[INFO] [stdout]   --> src/client/entry_distribution.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait HasEntryDistribution {
[INFO] [stdout]    |                  -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn new_quorum_coverage_set(&self) -> QuorumCoverageSet {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ensemble_at` and `ensemble_iter` are never used
[INFO] [stdout]    --> src/client/metadata.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub(crate) trait HasLedgerMetadata {
[INFO] [stdout]     |                  ----------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn ensemble_at(&self, entry_id: EntryId) -> (EntryId, &[BookieId], EntryId) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn ensemble_iter(&self, entry_id: EntryId) -> EnsembleIterator<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `write_quorum`, `ack_quorum`, and `custom_metadata` are never read
[INFO] [stdout]   --> src/client/placement.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct EnsembleOptions<'a> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub ensemble_size: u32,
[INFO] [stdout] 13 |     pub write_quorum: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub ack_quorum: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub custom_metadata: &'a HashMap<String, Vec<u8>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/future.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Iterable {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn iter(&self) -> Self::Iter;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sendable` is never constructed
[INFO] [stdout]  --> src/marker.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct Sendable(std::rc::Rc<()>);
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `properties` is never read
[INFO] [stdout]   --> src/meta/types.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct BookieServiceInfo {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 58 |     pub bookie_id: BookieId,
[INFO] [stdout] 59 |     pub properties: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BookieServiceInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/meta/types.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct BookieEndpoint {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 115 |     pub id: CompactString,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BookieEndpoint` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/client/bookie.rs:820:9
[INFO] [stdout]     |
[INFO] [stdout] 819 |       pub async fn connect<A: ToSocketAddrs>(addr: A, _conf: &Configuration) -> Result<Client> {
[INFO] [stdout]     |  ______________________________________________________________________________________________-
[INFO] [stdout] 820 | |         impl From<io::Error> for BkError {
[INFO] [stdout]     | |         ^^^^^----^---------^^^^^^-------
[INFO] [stdout]     | |              |    |              |
[INFO] [stdout]     | |              |    |              `BkError` is not local
[INFO] [stdout]     | |              |    `Error` is not local
[INFO] [stdout]     | |              `From` is not local
[INFO] [stdout] 821 | |             fn from(_: io::Error) -> BkError {
[INFO] [stdout] 822 | |                 BkError::with_description(ErrorKind::BookieNotAvailable, &"can't connect to bookie")
[INFO] [stdout] ...   |
[INFO] [stdout] 830 | |         Ok(client)
[INFO] [stdout] 831 | |     }
[INFO] [stdout]     | |_____- move the `impl` block outside of this async fn `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `high_priority` is never read
[INFO] [stdout]    --> src/client/bookie.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct AddOptions<'a> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 301 |     pub recovery_add: bool,
[INFO] [stdout] 302 |     pub high_priority: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_add_confirmed` is never read
[INFO] [stdout]    --> src/client/bookie.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 308 | pub struct FetchedEntry {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 309 |     pub max_lac: EntryId,
[INFO] [stdout] 310 |     pub last_add_confirmed: EntryId,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `high_priority` is never read
[INFO] [stdout]    --> src/client/bookie.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub struct ReadOptions<'a> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 316 |     pub fence_ledger: bool,
[INFO] [stdout] 317 |     pub high_priority: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_quorum_coverage_set` is never used
[INFO] [stdout]   --> src/client/entry_distribution.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait HasEntryDistribution {
[INFO] [stdout]    |                  -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn new_quorum_coverage_set(&self) -> QuorumCoverageSet {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ensemble_at` and `ensemble_iter` are never used
[INFO] [stdout]    --> src/client/metadata.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub(crate) trait HasLedgerMetadata {
[INFO] [stdout]     |                  ----------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn ensemble_at(&self, entry_id: EntryId) -> (EntryId, &[BookieId], EntryId) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn ensemble_iter(&self, entry_id: EntryId) -> EnsembleIterator<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `write_quorum`, `ack_quorum`, and `custom_metadata` are never read
[INFO] [stdout]   --> src/client/placement.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct EnsembleOptions<'a> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub ensemble_size: u32,
[INFO] [stdout] 13 |     pub write_quorum: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub ack_quorum: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub custom_metadata: &'a HashMap<String, Vec<u8>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/future.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Iterable {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn iter(&self) -> Self::Iter;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sendable` is never constructed
[INFO] [stdout]  --> src/marker.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct Sendable(std::rc::Rc<()>);
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `properties` is never read
[INFO] [stdout]   --> src/meta/types.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct BookieServiceInfo {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 58 |     pub bookie_id: BookieId,
[INFO] [stdout] 59 |     pub properties: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BookieServiceInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/meta/types.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct BookieEndpoint {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 115 |     pub id: CompactString,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BookieEndpoint` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/client/bookie.rs:820:9
[INFO] [stdout]     |
[INFO] [stdout] 819 |       pub async fn connect<A: ToSocketAddrs>(addr: A, _conf: &Configuration) -> Result<Client> {
[INFO] [stdout]     |  ______________________________________________________________________________________________-
[INFO] [stdout] 820 | |         impl From<io::Error> for BkError {
[INFO] [stdout]     | |         ^^^^^----^---------^^^^^^-------
[INFO] [stdout]     | |              |    |              |
[INFO] [stdout]     | |              |    |              `BkError` is not local
[INFO] [stdout]     | |              |    `Error` is not local
[INFO] [stdout]     | |              `From` is not local
[INFO] [stdout] 821 | |             fn from(_: io::Error) -> BkError {
[INFO] [stdout] 822 | |                 BkError::with_description(ErrorKind::BookieNotAvailable, &"can't connect to bookie")
[INFO] [stdout] ...   |
[INFO] [stdout] 830 | |         Ok(client)
[INFO] [stdout] 831 | |     }
[INFO] [stdout]     | |_____- move the `impl` block outside of this async fn `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use testcontainers::clients::Cli as DockerCli;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use testcontainers::core::{Healthcheck, WaitFor};
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `testcontainers`
[INFO] [stdout]  --> tests/client.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use testcontainers::images::generic::GenericImage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `testcontainers`
[INFO] [stdout]  --> tests/client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use testcontainers::Container;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of undeclared crate or module `testcontainers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bookkeeper-client` (test "client") due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "2230d2069263eed06a976744571c09e691600bf288605ebd9a7b21edc72bf122", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2230d2069263eed06a976744571c09e691600bf288605ebd9a7b21edc72bf122", kill_on_drop: false }`
[INFO] [stdout] 2230d2069263eed06a976744571c09e691600bf288605ebd9a7b21edc72bf122
