[INFO] fetching crate calimero-storage 0.10.0... [INFO] testing calimero-storage-0.10.0 against master#d933cf483edf1605142ac6899ff32536c0ad8b22 for pr-150933 [INFO] extracting crate calimero-storage 0.10.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate calimero-storage 0.10.0 [INFO] finished tweaking crates.io crate calimero-storage 0.10.0 [INFO] tweaked toml for crates.io crate calimero-storage 0.10.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate calimero-storage 0.10.0 on toolchain d933cf483edf1605142ac6899ff32536c0ad8b22 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate calimero-storage 0.10.0 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" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded velcro_core v0.5.4 [INFO] [stderr] Downloaded calimero-sys v0.10.0 [INFO] [stderr] Downloaded claims v0.7.1 [INFO] [stderr] Downloaded velcro v0.5.4 [INFO] [stderr] Downloaded calimero-sdk v0.10.0 [INFO] [stderr] Downloaded calimero-storage-macros v0.10.0 [INFO] [stderr] Downloaded calimero-wasm-abi v0.10.0 [INFO] [stderr] Downloaded calimero-prelude v0.10.0 [INFO] [stderr] Downloaded calimero-sdk-macros v0.10.0 [INFO] [stderr] Downloaded calimero-primitives v0.10.0 [INFO] [stderr] Downloaded velcro_macros v0.5.4 [INFO] [stderr] Downloaded fixedstr v0.5.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4737ac2246e56f140a7c8324535cccd78d051829506e6c7e5b7d58a54e88d895 [INFO] running `Command { std: "docker" "start" "-a" "4737ac2246e56f140a7c8324535cccd78d051829506e6c7e5b7d58a54e88d895", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4737ac2246e56f140a7c8324535cccd78d051829506e6c7e5b7d58a54e88d895", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4737ac2246e56f140a7c8324535cccd78d051829506e6c7e5b7d58a54e88d895", kill_on_drop: false }` [INFO] [stdout] 4737ac2246e56f140a7c8324535cccd78d051829506e6c7e5b7d58a54e88d895 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] df26ca416156ea4dac17873207076d841d6d94c6631f54875347b3dccb7874a7 [INFO] running `Command { std: "docker" "start" "-a" "df26ca416156ea4dac17873207076d841d6d94c6631f54875347b3dccb7874a7", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.102 [INFO] [stderr] Compiling unicode-ident v1.0.20 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling winnow v0.7.13 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling toml_datetime v0.7.3 [INFO] [stderr] Compiling core2 v0.4.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling unsigned-varint v0.8.0 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling quick-protobuf v0.8.1 [INFO] [stderr] Compiling borsh v1.5.7 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling multihash v0.19.3 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling indenter v0.3.4 [INFO] [stderr] Compiling calimero-sys v0.10.0 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling indexmap v2.12.0 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling toml_parser v1.0.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling toml_edit v0.23.7 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling data-encoding-macro-internal v0.1.16 [INFO] [stderr] Compiling match-lookup v0.1.1 [INFO] [stderr] Compiling base256emoji v1.0.2 [INFO] [stderr] Compiling data-encoding-macro v0.1.18 [INFO] [stderr] Compiling multibase v0.9.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling borsh-derive v1.5.7 [INFO] [stderr] Compiling calimero-storage-macros v0.10.0 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling calimero-sdk-macros v0.10.0 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling libp2p-identity v0.2.12 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling calimero-wasm-abi v0.10.0 [INFO] [stderr] Compiling fixedstr v0.5.9 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling multiaddr v0.18.2 [INFO] [stderr] Compiling calimero-primitives v0.10.0 [INFO] [stderr] Compiling calimero-prelude v0.10.0 [INFO] [stderr] Compiling calimero-sdk v0.10.0 [INFO] [stderr] Compiling calimero-storage v0.10.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `logical_counter` [INFO] [stdout] --> src/delta.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::logical_clock::{logical_counter, HybridTimestamp}; [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 variable: `incoming_created_at` [INFO] [stdout] --> src/interface.rs:907:13 [INFO] [stdout] | [INFO] [stdout] 907 | let incoming_created_at = metadata.created_at; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_incoming_created_at` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `poisoned` [INFO] [stdout] --> src/merge/registry.rs:136:58 [INFO] [stdout] | [INFO] [stdout] 136 | let registry = MERGE_REGISTRY.read().unwrap_or_else(|poisoned| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_poisoned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `collections::Collection<(K, V), S>` is more private than the item `unordered_map::UnorderedMap::inner` [INFO] [stdout] --> src/collections/unordered_map.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub(crate) inner: Collection<(K, V), S>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `unordered_map::UnorderedMap::inner` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `collections::Collection<(K, V), S>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/collections.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | struct Collection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Entries` is never constructed [INFO] [stdout] --> src/collections.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | struct Entries { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_with_field_name` and `reassign_deterministic_id` are never used [INFO] [stdout] --> src/collections.rs:185:19 [INFO] [stdout] | [INFO] [stdout] 139 | impl Collection { [INFO] [stdout] | ------------------------------------------------------------------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 185 | pub(crate) fn new_with_field_name(parent_id: Option, field_name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub(crate) fn reassign_deterministic_id(&mut self, field_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | missing_docs, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:416:5 [INFO] [stdout] | [INFO] [stdout] 416 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:436:5 [INFO] [stdout] | [INFO] [stdout] 436 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:440:5 [INFO] [stdout] | [INFO] [stdout] 440 | pub fn set(&mut self, value: Option<&[u8]>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:448:5 [INFO] [stdout] | [INFO] [stdout] 448 | pub fn get(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:452:5 [INFO] [stdout] | [INFO] [stdout] 452 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:457:5 [INFO] [stdout] | [INFO] [stdout] 457 | pub fn timestamp(&self) -> crate::logical_clock::HybridTimestamp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.67s [INFO] running `Command { std: "docker" "inspect" "df26ca416156ea4dac17873207076d841d6d94c6631f54875347b3dccb7874a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "df26ca416156ea4dac17873207076d841d6d94c6631f54875347b3dccb7874a7", kill_on_drop: false }` [INFO] [stdout] df26ca416156ea4dac17873207076d841d6d94c6631f54875347b3dccb7874a7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6d80e1dc93d9874adfb5d890642b6698934d39a33e5fa8a6f868cfa5dfa7c061 [INFO] running `Command { std: "docker" "start" "-a" "6d80e1dc93d9874adfb5d890642b6698934d39a33e5fa8a6f868cfa5dfa7c061", kill_on_drop: false }` [INFO] [stderr] Compiling core2 v0.4.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling velcro_core v0.5.4 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling claims v0.7.1 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling serial_test_derive v3.2.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling multihash v0.19.3 [INFO] [stderr] Compiling velcro_macros v0.5.4 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling libp2p-identity v0.2.12 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling multiaddr v0.18.2 [INFO] [stderr] Compiling calimero-wasm-abi v0.10.0 [INFO] [stderr] Compiling velcro v0.5.4 [INFO] [stderr] Compiling calimero-primitives v0.10.0 [INFO] [stderr] Compiling calimero-prelude v0.10.0 [INFO] [stderr] Compiling calimero-sdk v0.10.0 [INFO] [stderr] Compiling calimero-storage v0.10.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `logical_counter` [INFO] [stdout] --> src/delta.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::logical_clock::{logical_counter, HybridTimestamp}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serial_test v3.2.0 [INFO] [stdout] warning: unused variable: `incoming_created_at` [INFO] [stdout] --> src/interface.rs:907:13 [INFO] [stdout] | [INFO] [stdout] 907 | let incoming_created_at = metadata.created_at; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_incoming_created_at` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `poisoned` [INFO] [stdout] --> src/merge/registry.rs:136:58 [INFO] [stdout] | [INFO] [stdout] 136 | let registry = MERGE_REGISTRY.read().unwrap_or_else(|poisoned| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_poisoned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `collections::Collection<(K, V), S>` is more private than the item `unordered_map::UnorderedMap::inner` [INFO] [stdout] --> src/collections/unordered_map.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub(crate) inner: Collection<(K, V), S>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `unordered_map::UnorderedMap::inner` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `collections::Collection<(K, V), S>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/collections.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | struct Collection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Entries` is never constructed [INFO] [stdout] --> src/collections.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | struct Entries { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_with_field_name` and `reassign_deterministic_id` are never used [INFO] [stdout] --> src/collections.rs:185:19 [INFO] [stdout] | [INFO] [stdout] 139 | impl Collection { [INFO] [stdout] | ------------------------------------------------------------------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 185 | pub(crate) fn new_with_field_name(parent_id: Option, field_name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub(crate) fn reassign_deterministic_id(&mut self, field_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | missing_docs, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:416:5 [INFO] [stdout] | [INFO] [stdout] 416 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:436:5 [INFO] [stdout] | [INFO] [stdout] 436 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:440:5 [INFO] [stdout] | [INFO] [stdout] 440 | pub fn set(&mut self, value: Option<&[u8]>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:448:5 [INFO] [stdout] | [INFO] [stdout] 448 | pub fn get(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:452:5 [INFO] [stdout] | [INFO] [stdout] 452 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:457:5 [INFO] [stdout] | [INFO] [stdout] 457 | pub fn timestamp(&self) -> crate::logical_clock::HybridTimestamp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `logical_counter` [INFO] [stdout] --> src/delta.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::logical_clock::{logical_counter, HybridTimestamp}; [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 variable: `collection_name` [INFO] [stdout] --> src/tests/index.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | let collection_name = "Books"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child_collection_name` [INFO] [stdout] --> src/tests/index.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | let child_collection_name = "Books"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `grandchild_collection_name` [INFO] [stdout] --> src/tests/index.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let grandchild_collection_name = "Pages"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grandchild_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `greatgrandchild_collection_name` [INFO] [stdout] --> src/tests/index.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | let greatgrandchild_collection_name = "Paragraphs"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_greatgrandchild_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collection_name` [INFO] [stdout] --> src/tests/index.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | let collection_name = "Books"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collection_name` [INFO] [stdout] --> src/tests/index.rs:413:13 [INFO] [stdout] | [INFO] [stdout] 413 | let collection_name = "Pages"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collection_name` [INFO] [stdout] --> src/tests/index.rs:468:13 [INFO] [stdout] | [INFO] [stdout] 468 | let collection_name = "Books"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collection_name` [INFO] [stdout] --> src/tests/index.rs:489:13 [INFO] [stdout] | [INFO] [stdout] 489 | let collection_name = "Books"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collection_name` [INFO] [stdout] --> src/tests/index.rs:528:13 [INFO] [stdout] | [INFO] [stdout] 528 | let collection_name = "Books"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collection` [INFO] [stdout] --> src/tests/index.rs:612:13 [INFO] [stdout] | [INFO] [stdout] 612 | let collection = "children"; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collection_name` [INFO] [stdout] --> src/tests/index.rs:687:13 [INFO] [stdout] | [INFO] [stdout] 687 | let collection_name = "Children"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child_collection_name` [INFO] [stdout] --> src/tests/index.rs:723:13 [INFO] [stdout] | [INFO] [stdout] 723 | let child_collection_name = "Books"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `grandchild_collection_name` [INFO] [stdout] --> src/tests/index.rs:724:13 [INFO] [stdout] | [INFO] [stdout] 724 | let grandchild_collection_name = "Pages"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grandchild_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `greatgrandchild_collection_name` [INFO] [stdout] --> src/tests/index.rs:725:13 [INFO] [stdout] | [INFO] [stdout] 725 | let greatgrandchild_collection_name = "Paragraphs"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_greatgrandchild_collection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `incoming_created_at` [INFO] [stdout] --> src/interface.rs:907:13 [INFO] [stdout] | [INFO] [stdout] 907 | let incoming_created_at = metadata.created_at; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_incoming_created_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `poisoned` [INFO] [stdout] --> src/merge/registry.rs:136:58 [INFO] [stdout] | [INFO] [stdout] 136 | let registry = MERGE_REGISTRY.read().unwrap_or_else(|poisoned| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_poisoned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `collections::Collection<(K, V), S>` is more private than the item `unordered_map::UnorderedMap::inner` [INFO] [stdout] --> src/collections/unordered_map.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub(crate) inner: Collection<(K, V), S>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `unordered_map::UnorderedMap::inner` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `collections::Collection<(K, V), S>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/collections.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | struct Collection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Entries` is never constructed [INFO] [stdout] --> src/collections.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | struct Entries { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_with_field_name` and `reassign_deterministic_id` are never used [INFO] [stdout] --> src/collections.rs:185:19 [INFO] [stdout] | [INFO] [stdout] 139 | impl Collection { [INFO] [stdout] | ------------------------------------------------------------------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 185 | pub(crate) fn new_with_field_name(parent_id: Option, field_name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub(crate) fn reassign_deterministic_id(&mut self, field_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | missing_docs, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:416:5 [INFO] [stdout] | [INFO] [stdout] 416 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:436:5 [INFO] [stdout] | [INFO] [stdout] 436 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:440:5 [INFO] [stdout] | [INFO] [stdout] 440 | pub fn set(&mut self, value: Option<&[u8]>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:448:5 [INFO] [stdout] | [INFO] [stdout] 448 | pub fn get(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:452:5 [INFO] [stdout] | [INFO] [stdout] 452 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:457:5 [INFO] [stdout] | [INFO] [stdout] 457 | pub fn timestamp(&self) -> crate::logical_clock::HybridTimestamp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/js.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/js.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn id(&self) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 18.14s [INFO] running `Command { std: "docker" "inspect" "6d80e1dc93d9874adfb5d890642b6698934d39a33e5fa8a6f868cfa5dfa7c061", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d80e1dc93d9874adfb5d890642b6698934d39a33e5fa8a6f868cfa5dfa7c061", kill_on_drop: false }` [INFO] [stdout] 6d80e1dc93d9874adfb5d890642b6698934d39a33e5fa8a6f868cfa5dfa7c061 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f8cbc4c40825eb0dcfb98b74d385d36eaa156f061e0c0c22f7cead13f7d3276d [INFO] running `Command { std: "docker" "start" "-a" "f8cbc4c40825eb0dcfb98b74d385d36eaa156f061e0c0c22f7cead13f7d3276d", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `logical_counter` [INFO] [stderr] --> src/delta.rs:13:28 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::logical_clock::{logical_counter, HybridTimestamp}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `incoming_created_at` [INFO] [stderr] --> src/interface.rs:907:13 [INFO] [stderr] | [INFO] [stderr] 907 | let incoming_created_at = metadata.created_at; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_incoming_created_at` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `poisoned` [INFO] [stderr] --> src/merge/registry.rs:136:58 [INFO] [stderr] | [INFO] [stderr] 136 | let registry = MERGE_REGISTRY.read().unwrap_or_else(|poisoned| { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_poisoned` [INFO] [stderr] [INFO] [stderr] warning: type `collections::Collection<(K, V), S>` is more private than the item `unordered_map::UnorderedMap::inner` [INFO] [stderr] --> src/collections/unordered_map.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub(crate) inner: Collection<(K, V), S>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `unordered_map::UnorderedMap::inner` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `collections::Collection<(K, V), S>` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/collections.rs:92:1 [INFO] [stderr] | [INFO] [stderr] 92 | struct Collection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct `Entries` is never constructed [INFO] [stderr] --> src/collections.rs:119:8 [INFO] [stderr] | [INFO] [stderr] 119 | struct Entries { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated items `new_with_field_name` and `reassign_deterministic_id` are never used [INFO] [stderr] --> src/collections.rs:185:19 [INFO] [stderr] | [INFO] [stderr] 139 | impl Collection { [INFO] [stderr] | ------------------------------------------------------------------------------ associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 185 | pub(crate) fn new_with_field_name(parent_id: Option, field_name: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 248 | pub(crate) fn reassign_deterministic_id(&mut self, field_name: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/js.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | missing_docs, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/js.rs:207:5 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn id(&self) -> Id { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/js.rs:301:5 [INFO] [stderr] | [INFO] [stderr] 301 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/js.rs:321:5 [INFO] [stderr] | [INFO] [stderr] 321 | pub fn id(&self) -> Id { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/js.rs:416:5 [INFO] [stderr] | [INFO] [stderr] 416 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/js.rs:436:5 [INFO] [stderr] | [INFO] [stderr] 436 | pub fn id(&self) -> Id { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/js.rs:440:5 [INFO] [stderr] | [INFO] [stderr] 440 | pub fn set(&mut self, value: Option<&[u8]>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/js.rs:448:5 [INFO] [stderr] | [INFO] [stderr] 448 | pub fn get(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/js.rs:452:5 [INFO] [stderr] | [INFO] [stderr] 452 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/js.rs:457:5 [INFO] [stderr] | [INFO] [stderr] 457 | pub fn timestamp(&self) -> crate::logical_clock::HybridTimestamp { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/js.rs:497:5 [INFO] [stderr] | [INFO] [stderr] 497 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/js.rs:514:5 [INFO] [stderr] | [INFO] [stderr] 514 | pub fn id(&self) -> Id { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `collection_name` [INFO] [stderr] --> src/tests/index.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | let collection_name = "Books"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `child_collection_name` [INFO] [stderr] --> src/tests/index.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | let child_collection_name = "Books"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `grandchild_collection_name` [INFO] [stderr] --> src/tests/index.rs:229:13 [INFO] [stderr] | [INFO] [stderr] 229 | let grandchild_collection_name = "Pages"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grandchild_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `greatgrandchild_collection_name` [INFO] [stderr] --> src/tests/index.rs:230:13 [INFO] [stderr] | [INFO] [stderr] 230 | let greatgrandchild_collection_name = "Paragraphs"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_greatgrandchild_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `collection_name` [INFO] [stderr] --> src/tests/index.rs:307:13 [INFO] [stderr] | [INFO] [stderr] 307 | let collection_name = "Books"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `collection_name` [INFO] [stderr] --> src/tests/index.rs:413:13 [INFO] [stderr] | [INFO] [stderr] 413 | let collection_name = "Pages"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `collection_name` [INFO] [stderr] --> src/tests/index.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | let collection_name = "Books"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `collection_name` [INFO] [stderr] --> src/tests/index.rs:489:13 [INFO] [stderr] | [INFO] [stderr] 489 | let collection_name = "Books"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `collection_name` [INFO] [stderr] --> src/tests/index.rs:528:13 [INFO] [stderr] | [INFO] [stderr] 528 | let collection_name = "Books"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `collection` [INFO] [stderr] --> src/tests/index.rs:612:13 [INFO] [stderr] | [INFO] [stderr] 612 | let collection = "children"; [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `collection_name` [INFO] [stderr] --> src/tests/index.rs:687:13 [INFO] [stderr] | [INFO] [stderr] 687 | let collection_name = "Children"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `child_collection_name` [INFO] [stderr] --> src/tests/index.rs:723:13 [INFO] [stderr] | [INFO] [stderr] 723 | let child_collection_name = "Books"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `grandchild_collection_name` [INFO] [stderr] --> src/tests/index.rs:724:13 [INFO] [stderr] | [INFO] [stderr] 724 | let grandchild_collection_name = "Pages"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grandchild_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `greatgrandchild_collection_name` [INFO] [stderr] --> src/tests/index.rs:725:13 [INFO] [stderr] | [INFO] [stderr] 725 | let greatgrandchild_collection_name = "Paragraphs"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_greatgrandchild_collection_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `incoming_created_at` [INFO] [stderr] --> src/interface.rs:907:13 [INFO] [stderr] | [INFO] [stderr] 907 | let incoming_created_at = metadata.created_at; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_incoming_created_at` [INFO] [stderr] [INFO] [stderr] warning: `calimero-storage` (lib) generated 18 warnings (run `cargo fix --lib -p calimero-storage` to apply 3 suggestions) [INFO] [stderr] warning: `calimero-storage` (lib test) generated 32 warnings (17 duplicates) (run `cargo fix --lib -p calimero-storage --tests` to apply 15 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/calimero_storage-22b4eec16d9dcb68) [INFO] [stdout] [INFO] [stdout] running 364 tests [INFO] [stdout] test address::tests::path__constructor::new__not_absolute ... ok [INFO] [stdout] test address::tests::path__constructor::new__only_separators ... ok [INFO] [stdout] test address::tests::path__constructor::new__too_long ... ok [INFO] [stdout] test address::tests::path__constructor::new__empty ... ok [INFO] [stdout] test address::tests::path__constructor::new__with_empty_segments ... ok [INFO] [stdout] test address::tests::path__public_methods::depth ... ok [INFO] [stdout] test address::tests::path__constructor::new__valid_and_deep ... ok [INFO] [stdout] test address::tests::path__public_methods::is_descendant_of ... ok [INFO] [stdout] test address::tests::path__public_methods::is_ancestor_of ... ok [INFO] [stdout] test address::tests::path__public_methods::last ... ok [INFO] [stdout] test address::tests::path__public_methods::first ... ok [INFO] [stdout] test address::tests::path__public_methods::join ... ok [INFO] [stdout] test address::tests::path__public_methods::segments ... ok [INFO] [stdout] test address::tests::path__public_methods::is_root ... ok [INFO] [stdout] test address::tests::path__constructor::new__valid_and_long ... ok [INFO] [stdout] test address::tests::path__traits::display ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_creation ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_has_prefix ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_borsh_serialization ... ok [INFO] [stdout] test address::tests::path__traits::borsh_deserialization__valid ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_multi ... ok [INFO] [stdout] test address::tests::path__traits::try_from__str ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_empty ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_parse ... ok [INFO] [stdout] test address::tests::path__traits::try_from__string ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_parse_multi ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_prefix ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_roundtrip ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_single_part ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_three_parts ... ok [INFO] [stdout] test address::tests::path__traits::borsh_serialization__roundtrip ... ok [INFO] [stdout] test collections::composite_key::tests::test_composite_key_with_special_chars ... ok [INFO] [stdout] test collections::composite_key::tests::test_parse_missing_separator ... ok [INFO] [stdout] test collections::counter::tests::test_gcounter_starts_at_zero ... ok [INFO] [stdout] test collections::counter::tests::test_counter_internal_maps_no_collision ... ok [INFO] [stdout] test address::tests::path__traits::from__for_string ... ok [INFO] [stdout] test collections::counter::tests::test_gcounter_overflow_detection ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_cast_overflow_detection ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_addition_overflow_detection ... ok [INFO] [stdout] test address::tests::path__constructor::new__valid ... ok [INFO] [stdout] test address::tests::path__traits::borsh_deserialization__invalid ... ok [INFO] [stdout] test collections::counter::tests::test_deterministic_counter_ids ... ok [INFO] [stdout] test address::tests::path__public_methods::parent ... ok [INFO] [stdout] test address::tests::path__traits::borsh_serialization__valid ... ok [INFO] [stdout] test address::tests::path__public_methods::segment ... ok [INFO] [stdout] test collections::counter::tests::test_gcounter_value_unsigned ... ok [INFO] [stdout] test collections::counter::tests::test_gcounter_increment ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_counter_custom_storage_is_crdt ... ok [INFO] [stdout] test collections::counter::tests::test_exact_scenario_from_issue ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_deterministic_ids ... ok [INFO] [stdout] test collections::counter::tests::test_gcounter_multiple_executors ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_starts_at_zero ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_multiple_executors ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_subtraction_overflow_detection ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_no_false_positives ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_value_signed ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_counter_merge ... ok [INFO] [stdout] test collections::counter::tests::test_type_safety_gcounter_to_pncounter ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_gcounter_is_crdt ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_lww_register_automatic_casts ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_map_can_contain_crdts ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_pncounter_is_crdt ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_rga_is_crdt ... ok [INFO] [stdout] test collections::counter::tests::test_random_vs_deterministic_counter_ids ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_set_merge_empty ... ok [INFO] [stdout] test collections::counter::tests::test_pncounter_increment_and_decrement ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_lww_register_with_option ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_lww_register_merge ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_option_mergeable_with_lww_register ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_lww_register_with_bool ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_set_merge_disjoint ... ok [INFO] [stdout] test collections::counter::tests::test_type_safety_pncounter_to_gcounter ... ok [INFO] [stdout] test collections::nested::tests::test_nested_config_default ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_vector_merge_with_lww_registers ... ok [INFO] [stdout] test collections::nested::tests::test_insert_nested_lww_register ... ok [INFO] [stdout] test collections::decompose_impls::tests::test_unordered_map_decompose ... ok [INFO] [stdout] test collections::decompose_impls::tests::test_vector_decompose ... ok [INFO] [stdout] test collections::decompose_impls::tests::test_unordered_map_roundtrip ... ok [INFO] [stdout] test collections::nested_map::tests::test_nested_map_concurrent_modification ... ignored [INFO] [stdout] test collections::crdt_impls::tests::test_vector_merge_same_length ... ok [INFO] [stdout] test collections::nested::tests::test_insert_nested_simple_crdt ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_rga_merge_disjoint_characters ... ok [INFO] [stdout] test collections::nested_map::tests::test_nested_map_contains ... ok [INFO] [stdout] test collections::nested_map::tests::test_nested_map_insert ... ok [INFO] [stdout] test collections::nested_map::tests::test_nested_map_get ... ok [INFO] [stdout] test collections::decompose_impls::tests::test_vector_roundtrip ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_set_merge_overlapping ... ok [INFO] [stdout] test collections::nested_map::tests::test_nested_map_multiple_fields ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_entry_occupied_or_insert ... ok [INFO] [stdout] test collections::unordered_map::tests::test_clear ... ok [INFO] [stdout] test collections::nested_map::tests::test_nested_map_remove ... ok [INFO] [stdout] test collections::unordered_map::tests::test_deterministic_map_ids ... ok [INFO] [stdout] test collections::unordered_map::tests::test_remove ... ok [INFO] [stdout] test collections::unordered_map::tests::test_random_vs_deterministic_map_ids ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_lww_register_is_crdt ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_basic_operations ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_contains ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_entries ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_rga_merge_with_deletions ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_update_value ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_entry_vacant ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_len ... ok [INFO] [stdout] test collections::vector::tests::test_vector_clear ... ok [INFO] [stdout] test collections::unordered_set::tests::test_unordered_set_items ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_entry_occupied_mutations ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_get_mut ... ok [INFO] [stdout] test collections::unordered_set::tests::test_unordered_set_clear ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_rga_merge_overlapping_edits ... ok [INFO] [stdout] test collections::unordered_set::tests::test_unordered_set_operations ... ok [INFO] [stdout] test collections::vector::tests::test_validate_index_bounds ... ok [INFO] [stdout] test collections::unordered_map::tests::test_nested_map_uses_random_ids ... ok [INFO] [stdout] test collections::counter::tests::test_gcounter_no_false_positives ... ok [INFO] [stdout] test collections::vector::tests::test_vector_contains ... ok [INFO] [stdout] test collections::vector::tests::test_vector_find ... ok [INFO] [stdout] test collections::vector::tests::test_vector_filter ... ok [INFO] [stdout] test collections::vector::tests::test_vector_find_with_numbers ... ok [INFO] [stdout] test collections::crdt_impls::tests::test_vector_merge_different_length ... ok [INFO] [stdout] test constants::tests::constants_are_correct ... ok [INFO] [stdout] test constants::tests::threshold_is_greater_than_retention ... ok [INFO] [stdout] test collections::vector::tests::test_vector_filter_with_numbers ... ok [INFO] [stdout] test collections::vector::tests::test_vector_pop ... ok [INFO] [stdout] test collections::unordered_set::tests::test_unordered_set_len ... ok [INFO] [stdout] test collections::vector::tests::test_vector_get ... ok [INFO] [stdout] test collections::vector::tests::test_vector_get_non_existent ... ok [INFO] [stdout] test collections::vector::tests::test_vector_get_with_max_index ... ok [INFO] [stdout] test collections::vector::tests::test_vector_items ... ok [INFO] [stdout] test collections::unordered_map::tests::test_unordered_map_insert_and_get ... ok [INFO] [stdout] test collections::vector::tests::test_vector_push ... ok [INFO] [stdout] test collections::vector::tests::test_vector_update_with_max_index ... ok [INFO] [stdout] test collections::vector::tests::test_vector_update ... ok [INFO] [stdout] test entities::tests::element__public_methods::metadata ... ignored [INFO] [stdout] test entities::tests::element__public_methods::is_dirty ... ok [INFO] [stdout] test entities::tests::metadata__constructor::new ... ignored [INFO] [stdout] test entities::tests::child_info__traits::display ... ok [INFO] [stdout] test entities::tests::element__public_methods::updated_at ... ok [INFO] [stdout] test entities::tests::child_info__public_methods::merkle_hash ... ok [INFO] [stdout] test entities::tests::collection__public_methods::name ... ok [INFO] [stdout] test entities::tests::data__public_methods::element_mut ... ok [INFO] [stdout] test entities::tests::element__traits::display ... ok [INFO] [stdout] test entities::tests::data__public_methods::id ... ok [INFO] [stdout] test entities::tests::element__public_methods::update ... ok [INFO] [stdout] test entities::tests::data__public_methods::collections ... ok [INFO] [stdout] test entities::tests::element__constructor::new ... ok [INFO] [stdout] test entities::tests::child_info__constructor::new ... ok [INFO] [stdout] test entities::tests::child_info__public_methods::id ... ok [INFO] [stdout] test entities::tests::data__public_methods::element ... ok [INFO] [stdout] test entities::tests::element__public_methods::id ... ok [INFO] [stdout] test index::tests::hashing::recalculate_ancestor_hashes_for ... ok [INFO] [stdout] test entities::tests::element__public_methods::created_at ... ok [INFO] [stdout] test index::tests::hashing::update_hash_for__full ... ok [INFO] [stdout] test index::tests::index__private_methods::get_and_save_index ... ok [INFO] [stdout] test index::tests::hashing::update_hash_for__own ... ok [INFO] [stdout] test index::tests::hashing::calculate_full_merkle_hash_for__with_children ... ok [INFO] [stdout] test index::tests::index__private_methods::save_and_remove_index ... ok [INFO] [stdout] test index::tests::index__private_methods::garbage_collect_tombstones ... ok [INFO] [stdout] test index::tests::index__public_methods::get_collection_names_for ... ok [INFO] [stdout] test index::tests::index__public_methods::get_ancestors_of ... ok [INFO] [stdout] test index::tests::index__public_methods::get_children_of__single_collection ... ok [INFO] [stdout] test interface::tests::frozen_storage_verification::frozen_blob_exactly_minimum_size_succeeds ... ok [INFO] [stdout] test interface::tests::frozen_storage_verification::frozen_add_with_valid_content_addressing_succeeds ... ok [INFO] [stdout] test index::tests::index__public_methods::get_hashes_for ... ok [INFO] [stdout] test interface::tests::frozen_storage_verification::frozen_blob_too_small_fails ... ok [INFO] [stdout] test index::tests::index__public_methods::add_root ... ok [INFO] [stdout] test index::tests::index__public_methods::get_parent_id ... ok [INFO] [stdout] test index::tests::index__public_methods::remove_child_from ... ok [INFO] [stdout] test interface::tests::interface__apply_actions::apply_action__compare ... ok [INFO] [stdout] test interface::tests::interface__apply_actions::apply_action__add ... ok [INFO] [stdout] test index::tests::index__public_methods::add_child_to ... ok [INFO] [stdout] test index::tests::index__public_methods::get_children_of__single_collection_only ... ok [INFO] [stdout] test interface::tests::frozen_storage_verification::frozen_add_with_invalid_content_addressing_fails ... ok [INFO] [stdout] test interface::tests::interface__apply_actions::apply_action__delete ... ok [INFO] [stdout] test index::tests::index__public_methods::apply_action__sparse ... ok [INFO] [stdout] test interface::tests::interface__apply_actions::apply_action__update ... ok [INFO] [stdout] test interface::tests::interface__apply_actions::apply_action__non_existent_update ... ok [INFO] [stdout] test interface::tests::interface__public_methods::find_by_id_raw ... ignored [INFO] [stdout] test index::tests::index__public_methods::has_children ... ok [INFO] [stdout] test interface::tests::interface__comparison::compare_trees__identical ... ok [INFO] [stdout] test interface::tests::interface__public_methods::find_by_id__non_existent ... ok [INFO] [stdout] test interface::tests::interface__apply_actions::apply_action__delete_ref ... ok [INFO] [stdout] test interface::tests::interface__public_methods::save__basic ... ok [INFO] [stdout] test interface::tests::interface__public_methods::find_by_id__existent ... ok [INFO] [stdout] test interface::tests::interface__apply_actions::delete_ref_conflict_resolution ... ok [INFO] [stdout] test interface::tests::interface__public_methods::save__not_dirty ... ok [INFO] [stdout] test interface::tests::frozen_storage_verification::frozen_delete_is_rejected ... ok [INFO] [stdout] test interface::tests::interface__comparison::compare_trees__with_collections ... ok [INFO] [stdout] test interface::tests::interface__public_methods::save__update_merkle_hash ... ignored [INFO] [stdout] test interface::tests::interface__public_methods::save__update_merkle_hash_with_children ... ignored [INFO] [stdout] test interface::tests::interface__public_methods::save__update_merkle_hash_with_parents ... ignored [INFO] [stdout] test interface::tests::interface__public_methods::validate ... ignored [INFO] [stdout] test interface::tests::frozen_storage_verification::frozen_update_is_rejected ... ok [INFO] [stdout] test interface::tests::interface__public_methods::save__update_existing ... ok [INFO] [stdout] test interface::tests::snapshot_and_resync::test_snapshot_round_trip ... ok [INFO] [stdout] test interface::tests::snapshot_and_resync::test_generate_snapshot ... ok [INFO] [stdout] test interface::tests::snapshot_and_resync::test_snapshot_excludes_tombstones ... ok [INFO] [stdout] test interface::tests::snapshot_and_resync::test_apply_snapshot ... ok [INFO] [stdout] test interface::tests::interface__public_methods::children_of ... ok [INFO] [stdout] test interface::tests::timestamp_drift_protection::action_with_future_timestamp_within_tolerance_succeeds ... ok [INFO] [stdout] test interface::tests::timestamp_drift_protection::delete_ref_with_future_timestamp_beyond_tolerance_fails ... ok [INFO] [stdout] test interface::tests::timestamp_drift_protection::action_with_past_timestamp_succeeds ... ok [INFO] [stdout] test interface::tests::timestamp_drift_protection::action_with_future_timestamp_beyond_tolerance_fails ... ok [INFO] [stdout] test interface::tests::interface__public_methods::save__too_old ... ok [INFO] [stdout] test interface::tests::storage_type_edge_cases::cannot_change_public_to_user_storage ... ok [INFO] [stdout] test interface::tests::user_storage_signature_verification::user_action_without_signature_fails ... ok [INFO] [stdout] test interface::tests::interface__comparison::compare_trees__foreign_newer ... ok [INFO] [stdout] test interface::tests::interface__comparison::compare_trees__local_newer ... ok [INFO] [stdout] test logical_clock::tests::test_hlc_monotonicity ... ok [INFO] [stdout] test logical_clock::tests::test_hybrid_timestamp_borsh ... ok [INFO] [stdout] test logical_clock::tests::test_hlc_uniqueness ... ok [INFO] [stdout] test merge::registry::tests::test_no_merge_function_registered_returns_error ... ok [INFO] [stdout] test merge::registry::tests::test_register_and_merge ... ok [INFO] [stdout] test tests::collections::test_unordered_map_basic_operations ... ok [INFO] [stdout] test tests::collections::test_unordered_map_clear ... ok [INFO] [stdout] test interface::tests::storage_type_edge_cases::user_update_with_different_owner_fails ... ok [INFO] [stdout] test tests::collections::test_unordered_map_contains ... ok [INFO] [stdout] test tests::collections::test_unordered_map_entries ... ok [INFO] [stdout] test tests::collections::test_unordered_map_insert_and_get ... ok [INFO] [stdout] test tests::collections::test_unordered_map_remove ... ok [INFO] [stdout] test tests::collections::test_unordered_map_len ... ok [INFO] [stdout] test interface::tests::storage_type_edge_cases::user_delete_without_signature_fails ... ok [INFO] [stdout] test tests::collections::test_unordered_map_update_value ... ok [INFO] [stdout] test tests::collections::test_unordered_set_items ... ok [INFO] [stdout] test tests::collections::test_unordered_set_clear ... ok [INFO] [stdout] test tests::collections::test_vector_contains ... ok [INFO] [stdout] test tests::collections::test_unordered_set_operations ... ok [INFO] [stdout] test tests::collections::test_vector_get ... ok [INFO] [stdout] test tests::collections::test_vector_get_non_existent ... ok [INFO] [stdout] test tests::collections::test_vector_pop ... ok [INFO] [stdout] test tests::collections::test_vector_items ... ok [INFO] [stdout] test tests::collections::test_unordered_set_len ... ok [INFO] [stdout] test tests::collections::test_vector_push ... ok [INFO] [stdout] test tests::crdt::actions_idempotent ... ok [INFO] [stdout] test tests::crdt::concurrent_adds_to_collection ... ok [INFO] [stdout] test tests::collections::test_vector_clear ... ok [INFO] [stdout] test tests::crdt::concurrent_updates_different_entities ... ok [INFO] [stdout] test tests::crdt::delete_prevents_old_add ... ok [INFO] [stdout] test interface::tests::user_storage_replay_protection::replay_with_same_nonce_fails ... ok [INFO] [stdout] test tests::crdt::empty_entity_data ... ok [INFO] [stdout] test tests::crdt::concurrent_update_same_entity_different_fields ... ok [INFO] [stdout] test interface::tests::storage_type_edge_cases::user_delete_replay_protection ... ok [INFO] [stdout] test interface::tests::storage_type_edge_cases::cannot_change_user_to_public_storage ... ok [INFO] [stdout] test interface::tests::user_storage_signature_verification::user_action_with_corrupted_signature_fails ... ok [INFO] [stdout] test tests::collections::test_vector_update ... ok [INFO] [stdout] test tests::crdt::multiple_deletes_idempotent ... ok [INFO] [stdout] test tests::crdt::malformed_entity_data ... ok [INFO] [stdout] test tests::crdt::lww_newer_overwrites_older ... ok [INFO] [stdout] test tests::crdt::test_delete_future_timestamp_rejected ... ok [INFO] [stdout] test tests::crdt::delete_vs_update_conflict ... ok [INFO] [stdout] test tests::crdt::lww_newer_update_wins ... ok [INFO] [stdout] test interface::tests::user_storage_replay_protection::out_of_order_nonces_are_rejected ... ok [INFO] [stdout] test interface::tests::user_storage_replay_protection::replay_with_lower_nonce_fails ... ok [INFO] [stdout] test tests::crdt::lww_concurrent_updates_deterministic ... ok [INFO] [stdout] test tests::crdt::many_sequential_updates ... ok [INFO] [stdout] test tests::crdt::test_delete_near_future_accepted ... ok [INFO] [stdout] test tests::crdt::test_past_timestamp_accepted ... ok [INFO] [stdout] test tests::crdt::test_future_timestamp_rejected ... ok [INFO] [stdout] test tests::crdt::test_near_future_timestamp_accepted ... ok [INFO] [stdout] test interface::tests::user_storage_signature_verification::user_update_with_valid_signature_succeeds ... ok [INFO] [stdout] test tests::crdt::tombstone_marks_deleted ... ok [INFO] [stdout] test interface::tests::user_storage_signature_verification::user_action_with_invalid_signature_fails ... ok [INFO] [stdout] test tests::crdt::tombstone_allows_newer_update ... ok [INFO] [stdout] test interface::tests::user_storage_signature_verification::user_action_with_valid_signature_succeeds ... ok [INFO] [stdout] test tests::crdt::same_timestamp_lww_behavior ... ok [INFO] [stdout] test interface::tests::storage_type_edge_cases::user_delete_with_wrong_owner_fails ... ok [INFO] [stdout] test tests::crdt::rapid_add_delete_cycles ... ok [INFO] [stdout] test tests::crdt::tombstone_prevents_old_resurrection ... ok [INFO] [stdout] test tests::crdt::update_before_add_creates_entity ... ok [INFO] [stdout] test tests::delta::delta_action_recording ... ok [INFO] [stdout] test tests::delta::delta_id_changes_with_parents ... ok [INFO] [stdout] test tests::delta::delta_clears_actions_after_commit ... ok [INFO] [stdout] test tests::delta::delta_delete_action_recorded ... ok [INFO] [stdout] test tests::delta::delta_preserves_action_order ... ok [INFO] [stdout] test tests::delta::delta_creation_with_no_actions ... ok [INFO] [stdout] test tests::delta::delta_empty_heads_treated_as_genesis ... ok [INFO] [stdout] test tests::delta::delta_creation_with_multiple_actions ... ok [INFO] [stdout] test tests::lww_register::test_lww_concurrent_updates_converge ... ok [INFO] [stdout] test tests::delta::delta_update_action_recorded ... ok [INFO] [stdout] test tests::delta::delta_id_is_content_addressed ... ok [INFO] [stdout] test tests::delta::delta_id_deterministic_regardless_of_hlc ... ok [INFO] [stdout] test tests::delta::delta_three_way_merge ... ok [INFO] [stdout] test tests::lww_register::test_lww_display ... ok [INFO] [stdout] test tests::delta::delta_sequential_commits ... ok [INFO] [stdout] test tests::lww_register::test_lww_into_inner ... ok [INFO] [stdout] test tests::delta::delta_concurrent_branch_setup ... ok [INFO] [stdout] test tests::delta::delta_timestamp_is_monotonic ... ok [INFO] [stdout] test tests::crdt::update_vs_delete_conflict ... ok [INFO] [stdout] test tests::lww_register::test_lww_default ... ok [INFO] [stdout] test tests::delta::delta_creation_with_single_action ... ok [INFO] [stdout] test tests::lww_register::test_lww_merge_later_timestamp_wins ... ok [INFO] [stdout] test tests::lww_register::test_lww_new_and_get ... ok [INFO] [stdout] test tests::lww_register::test_lww_merge_tie_breaking_by_node_id ... ok [INFO] [stdout] test tests::delta::delta_merge_two_heads ... ok [INFO] [stdout] test tests::lww_register::test_lww_merge_after_serialization ... ok [INFO] [stdout] test tests::lww_register::test_lww_merge_earlier_timestamp_loses ... ok [INFO] [stdout] test tests::lww_register::test_lww_set ... ok [INFO] [stdout] test tests::lww_register::test_lww_three_way_merge ... ok [INFO] [stdout] test tests::merge_dispatch::test_collections_return_incoming ... ok [INFO] [stdout] test tests::merge_dispatch::test_crdt_type_has_required_variants ... ok [INFO] [stdout] test tests::lww_register::test_lww_with_different_types ... ok [INFO] [stdout] test tests::lww_register::test_lww_serialization ... ok [INFO] [stdout] test tests::lww_register::test_lww_sequential_updates ... ok [INFO] [stdout] test tests::merge_dispatch::test_merge_custom_type_returns_wasm_required ... ok [INFO] [stdout] test tests::merge_dispatch::test_is_builtin_crdt_classification ... ok [INFO] [stdout] test tests::lww_register::test_lww_merge_identical_no_change ... ok [INFO] [stdout] test tests::lww_register::test_lww_would_update ... ok [INFO] [stdout] test tests::merge_dispatch::test_lww_register_returns_incoming ... ok [INFO] [stdout] test interface::tests::storage_type_edge_cases::user_delete_with_valid_signature_succeeds ... ok [INFO] [stdout] test tests::merge_dispatch::test_gcounter_merge_max_per_executor ... ok [INFO] [stdout] test tests::merge_dispatch::test_gcounter_merge_sums_contributions ... ok [INFO] [stdout] test tests::merge_dispatch::test_merge_by_crdt_type_differs_from_lww ... ok [INFO] [stdout] test tests::merkle::merkle_hash_changes_when_child_added ... ok [INFO] [stdout] test tests::merkle::merkle_hash_child_removal_updates_parent ... ok [INFO] [stdout] test tests::merkle::merkle_hash_convergence_after_sync ... ok [INFO] [stdout] test tests::merkle::merkle_hash_detects_divergence ... ok [INFO] [stdout] test tests::merkle::merkle_hash_deterministic ... ok [INFO] [stdout] test tests::merkle::merkle_hash_includes_multiple_children ... ok [INFO] [stdout] test tests::merge_dispatch::test_pncounter_merge_combines_maps ... ok [INFO] [stdout] test tests::merkle::merkle_hash_propagates_on_child_update ... ok [INFO] [stdout] test tests::merkle::merkle_hash_propagates_through_deep_hierarchy ... ok [INFO] [stdout] test tests::merkle::merkle_hash_stable_when_child_unchanged ... ok [INFO] [stdout] test tests::merge_integration::test_counter_serialization_determinism ... ok [INFO] [stdout] test tests::merkle::merkle_hash_with_concurrent_child_updates ... ok [INFO] [stdout] test tests::merge_dispatch::test_merge_corrupted_data_returns_serialization_error ... ok [INFO] [stdout] test tests::rga::test_rga_basic_delete ... ok [INFO] [stdout] test tests::rga::test_rga_basic_insert ... ok [INFO] [stdout] test tests::rga::test_rga_delete_out_of_bounds ... ok [INFO] [stdout] test tests::rga::test_rga_alternating_insert_delete ... ok [INFO] [stdout] test tests::rga::test_rga_concurrent_inserts_deterministic ... ok [INFO] [stdout] test tests::rga::test_rga_delete_range_empty ... ok [INFO] [stdout] test tests::rga::test_rga_delete_range_full ... ok [INFO] [stdout] test tests::rga::test_rga_delete_range_out_of_bounds ... ok [INFO] [stdout] test tests::rga::test_rga_delete_range ... ok [INFO] [stdout] test tests::rga::test_rga_delete_range_invalid ... ok [INFO] [stdout] test tests::rga::test_rga_empty_string_insert ... ok [INFO] [stdout] test tests::rga::test_rga_insert_out_of_bounds ... ok [INFO] [stdout] test tests::rga::test_rga_insert_str_out_of_bounds ... ok [INFO] [stdout] test tests::rga::test_rga_insert_str ... ok [INFO] [stdout] test tests::rga::test_rga_interleaved_operations ... ok [INFO] [stdout] test tests::rga::test_rga_get_text_after_many_deletes ... ok [INFO] [stdout] test tests::rga::test_rga_len_and_is_empty ... ok [INFO] [stdout] test tests::rga::test_rga_insert_str_position_bug ... ok [INFO] [stdout] test tests::rga::test_rga_insert_str_middle ... ok [INFO] [stdout] test tests::rga::test_rga_multiple_concurrent_operations ... ok [INFO] [stdout] test tests::rga::test_rga_repeated_inserts_at_same_position ... ok [INFO] [stdout] test tests::rga::test_rga_serialize_deserialize ... ok [INFO] [stdout] test tests::rga::test_rga_serialize_deserialize_single_insert ... ok [INFO] [stdout] test tests::rga::test_rga_single_character_operations ... ok [INFO] [stdout] test tests::rga::test_rga_replace_pattern ... ok [INFO] [stdout] test tests::rga::test_rga_unicode_support ... ok [INFO] [stdout] test tests::rga::test_rga_whitespace_handling ... ok [INFO] [stdout] test tests::rga::test_rga_special_characters ... ok [INFO] [stdout] test interface::tests::user_storage_replay_protection::sequential_updates_with_increasing_nonces_succeed ... ok [INFO] [stdout] test tests::rga::test_rga_stress_rapid_changes ... ok [INFO] [stdout] test tests::merge_integration::test_merge_map_of_counters ... ok [INFO] [stdout] test tests::merge_integration::test_merge_map_of_lww_registers ... ok [INFO] [stdout] test tests::merge_integration::test_merge_via_registry ... ok [INFO] [stdout] test tests::merge_integration::test_merge_vector_of_counters ... ok [INFO] [stdout] test tests::merge_integration::test_e2e_sync_flow_with_isolated_storage ... ok [INFO] [stdout] test tests::merge_integration::test_e2e_counter_sync_with_isolated_storage ... ok [INFO] [stdout] test tests::merge_integration::test_merge_with_nested_map ... ok [INFO] [stdout] test tests::merge_integration::test_merge_determinism_reproduces_e2e_issue ... ok [INFO] [stdout] test tests::merge_integration::test_merge_nested_document_with_rga ... ok [INFO] [stdout] test tests::merge_integration::test_merge_map_of_sets ... ok [INFO] [stdout] test tests::merge_integration::test_counter_serialization_architecture ... ok [INFO] [stdout] test tests::rga::test_rga_large_document ... ok [INFO] [stdout] [INFO] [stderr] Doc-tests calimero_storage [INFO] [stdout] test result: ok. 356 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 15.36s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test src/collections/composite_key.rs - collections::composite_key (line 8) ... ignored [INFO] [stdout] test src/collections/composite_key.rs - collections::composite_key::CompositeKey::new (line 40) ... ignored [INFO] [stdout] test src/collections/composite_key.rs - collections::composite_key::CompositeKey::new_multi (line 73) ... ignored [INFO] [stdout] test src/collections/composite_key.rs - collections::composite_key::CompositeKey::parse (line 115) ... ignored [INFO] [stdout] test src/collections/composite_key.rs - collections::composite_key::CompositeKey::parse_multi (line 136) ... ignored [INFO] [stdout] test src/collections/composite_key.rs - collections::composite_key::CompositeKey::prefix_for (line 180) ... ignored [INFO] [stdout] test src/collections/counter.rs - collections::counter::Counter (line 28) ... ignored [INFO] [stdout] test src/collections/counter.rs - collections::counter::Counter (line 51) ... ignored [INFO] [stdout] test src/collections/counter.rs - collections::counter::Counter::new_with_field_name (line 210) ... ignored [INFO] [stdout] test src/collections/lww_register.rs - collections::lww_register (line 14) ... ignored [INFO] [stdout] test src/collections/nested.rs - collections::nested (line 13) ... ignored [INFO] [stdout] test src/collections/rga.rs - collections::rga (line 15) ... ignored [INFO] [stdout] test src/collections/rga.rs - collections::rga::ReplicatedGrowableArray::new_with_field_name (line 165) ... ignored [INFO] [stdout] test src/collections/unordered_map.rs - collections::unordered_map::UnorderedMap::new_with_field_name (line 52) ... ignored [INFO] [stdout] test src/collections/unordered_set.rs - collections::unordered_set::UnorderedSet::new_with_field_name (line 46) ... ignored [INFO] [stdout] test src/collections/vector.rs - collections::vector::Vector::new_with_field_name (line 65) ... ignored [INFO] [stdout] test src/index.rs - index::Index::garbage_collect_tombstones (line 500) ... ignored [INFO] [stdout] test src/logical_clock.rs - logical_clock (line 35) ... ignored [INFO] [stdout] test src/merge.rs - merge::CrdtMerge (line 150) ... ignored [INFO] [stdout] test src/merge.rs - merge::is_builtin_crdt (line 275) ... ignored [INFO] [stdout] test src/merge.rs - merge::merge_by_crdt_type (line 206) ... ignored [INFO] [stdout] test src/merge/registry.rs - merge::registry (line 15) ... ignored [INFO] [stdout] test src/merge/registry.rs - merge::registry::register_crdt_merge (line 37) ... ignored [INFO] [stdout] test src/collections/nested_map.rs - collections::nested_map (line 21) - compile ... ok [INFO] [stdout] test src/collections/nested_map.rs - collections::nested_map (line 9) - compile ... ok [INFO] [stdout] test src/entities.rs - entities::Collection (line 50) ... ok [INFO] [stdout] test src/entities.rs - entities::AtomicUnit (line 32) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 23 ignored; 0 measured; 0 filtered out; finished in 0.49s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f8cbc4c40825eb0dcfb98b74d385d36eaa156f061e0c0c22f7cead13f7d3276d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f8cbc4c40825eb0dcfb98b74d385d36eaa156f061e0c0c22f7cead13f7d3276d", kill_on_drop: false }` [INFO] [stdout] f8cbc4c40825eb0dcfb98b74d385d36eaa156f061e0c0c22f7cead13f7d3276d