[INFO] fetching crate launchdarkly-server-sdk 2.6.1... [INFO] testing launchdarkly-server-sdk-2.6.1 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate launchdarkly-server-sdk 2.6.1 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate launchdarkly-server-sdk 2.6.1 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate launchdarkly-server-sdk 2.6.1 [INFO] tweaked toml for crates.io crate launchdarkly-server-sdk 2.6.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate launchdarkly-server-sdk 2.6.1 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate launchdarkly-server-sdk 2.6.1 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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 368d5f2f52792105c72c3e39b576df62af72f0f927a0f027d14a41bbe49aecad [INFO] running `Command { std: "docker" "start" "-a" "368d5f2f52792105c72c3e39b576df62af72f0f927a0f027d14a41bbe49aecad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "368d5f2f52792105c72c3e39b576df62af72f0f927a0f027d14a41bbe49aecad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "368d5f2f52792105c72c3e39b576df62af72f0f927a0f027d14a41bbe49aecad", kill_on_drop: false }` [INFO] [stdout] 368d5f2f52792105c72c3e39b576df62af72f0f927a0f027d14a41bbe49aecad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 91047f685c4cfd14ff6a4f2a9cbd6648535353d50c1076e29c9cf7b4c4e6cc32 [INFO] running `Command { std: "docker" "start" "-a" "91047f685c4cfd14ff6a4f2a9cbd6648535353d50c1076e29c9cf7b4c4e6cc32", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling indexmap v2.11.0 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rustls-native-certs v0.6.3 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling aws-lc-rs v1.13.3 [INFO] [stderr] Compiling moka v0.12.10 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling uuid v1.18.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Compiling tagptr v0.2.0 [INFO] [stderr] Compiling base16ct v0.2.0 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling lru v0.13.0 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling aws-lc-sys v0.30.0 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tokio-io-timeout v1.2.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling serde_with_macros v3.14.0 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serde_with v3.14.0 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling launchdarkly-server-sdk-evaluation v2.0.1 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling hyper-timeout v0.4.1 [INFO] [stderr] Compiling eventsource-client v0.14.0 [INFO] [stderr] Compiling launchdarkly-server-sdk v2.6.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:145:42 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 145 - pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stdout] 145 + pub fn data_store_builder(&self) -> &dyn DataStoreFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:150:43 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 150 - pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stdout] 150 + pub fn data_source_builder(&self) -> &dyn DataSourceFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:155:47 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 155 - pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stdout] 155 + pub fn event_processor_builder(&self) -> &dyn EventProcessorFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/events/sender.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 37 | ) -> BoxFuture<()>; [INFO] [stdout] | ------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 37 | ) -> BoxFuture<'_, ()>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/events/sender.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 102 | ) -> BoxFuture<()> { [INFO] [stdout] | ------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 102 | ) -> BoxFuture<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/feature_requester.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | fn get_all(&mut self) -> BoxFuture, FeatureRequesterError>>; [INFO] [stdout] | ^^^^^^^^^ ---------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 20 | fn get_all(&mut self) -> BoxFuture<'_, Result, FeatureRequesterError>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/feature_requester.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | fn get_all(&mut self) -> BoxFuture, FeatureRequesterError>> { [INFO] [stdout] | ^^^^^^^^^ ---------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 52 | fn get_all(&mut self) -> BoxFuture<'_, Result, FeatureRequesterError>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.71s [INFO] running `Command { std: "docker" "inspect" "91047f685c4cfd14ff6a4f2a9cbd6648535353d50c1076e29c9cf7b4c4e6cc32", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91047f685c4cfd14ff6a4f2a9cbd6648535353d50c1076e29c9cf7b4c4e6cc32", kill_on_drop: false }` [INFO] [stdout] 91047f685c4cfd14ff6a4f2a9cbd6648535353d50c1076e29c9cf7b4c4e6cc32 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 974bce9bdae1a3fa64d24f6a5f98b1835ca07c6125b44473b8037a109cf116a9 [INFO] running `Command { std: "docker" "start" "-a" "974bce9bdae1a3fa64d24f6a5f98b1835ca07c6125b44473b8037a109cf116a9", kill_on_drop: false }` [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling test-case-core v3.3.1 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling colored v3.0.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling kv-log-macro v1.0.7 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Compiling testing_logger v0.1.1 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling test-case-macros v3.3.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling moka v0.12.10 [INFO] [stderr] Compiling test-case v3.3.1 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling serde_with_macros v3.14.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_with v3.14.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tokio-io-timeout v1.2.1 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling polling v3.10.0 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling async-io v2.5.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling async-global-executor v2.4.1 [INFO] [stderr] Compiling launchdarkly-server-sdk-evaluation v2.0.1 [INFO] [stderr] Compiling async-std v1.13.2 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling hyper-util v0.1.16 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling hyper-timeout v0.4.1 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling mockito v1.7.0 [INFO] [stderr] Compiling reqwest v0.12.23 [INFO] [stderr] Compiling eventsource-client v0.14.0 [INFO] [stderr] Compiling launchdarkly-server-sdk v2.6.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:145:42 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 145 - pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stdout] 145 + pub fn data_store_builder(&self) -> &dyn DataStoreFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:150:43 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 150 - pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stdout] 150 + pub fn data_source_builder(&self) -> &dyn DataSourceFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:155:47 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 155 - pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stdout] 155 + pub fn event_processor_builder(&self) -> &dyn EventProcessorFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/events/sender.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 37 | ) -> BoxFuture<()>; [INFO] [stdout] | ------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 37 | ) -> BoxFuture<'_, ()>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/events/sender.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 102 | ) -> BoxFuture<()> { [INFO] [stdout] | ------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 102 | ) -> BoxFuture<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/feature_requester.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | fn get_all(&mut self) -> BoxFuture, FeatureRequesterError>>; [INFO] [stdout] | ^^^^^^^^^ ---------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 20 | fn get_all(&mut self) -> BoxFuture<'_, Result, FeatureRequesterError>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/feature_requester.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | fn get_all(&mut self) -> BoxFuture, FeatureRequesterError>> { [INFO] [stdout] | ^^^^^^^^^ ---------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 52 | fn get_all(&mut self) -> BoxFuture<'_, Result, FeatureRequesterError>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/client.rs:1432:25 [INFO] [stdout] | [INFO] [stdout] 1432 | ) -> Result, std::io::Error> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1432 - ) -> Result, std::io::Error> { [INFO] [stdout] 1432 + ) -> Result, std::io::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:145:42 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 145 - pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stdout] 145 + pub fn data_store_builder(&self) -> &dyn DataStoreFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:150:43 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 150 - pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stdout] 150 + pub fn data_source_builder(&self) -> &dyn DataSourceFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/config.rs:155:47 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 155 - pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stdout] 155 + pub fn event_processor_builder(&self) -> &dyn EventProcessorFactory { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/stores/persistent_store_builders.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 105 | ) -> Result, std::io::Error> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - ) -> Result, std::io::Error> { [INFO] [stdout] 105 + ) -> Result, std::io::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `client::Client::initialized_async`: blocking without a timeout is discouraged, use wait_for_initialization instead [INFO] [stdout] --> src/client.rs:891:34 [INFO] [stdout] | [INFO] [stdout] 891 | let initialized = client.initialized_async().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/events/sender.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 37 | ) -> BoxFuture<()>; [INFO] [stdout] | ------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 37 | ) -> BoxFuture<'_, ()>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/events/sender.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 102 | ) -> BoxFuture<()> { [INFO] [stdout] | ------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 102 | ) -> BoxFuture<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/events/sender.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 233 | ) -> BoxFuture<()> { [INFO] [stdout] | ------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 233 | ) -> BoxFuture<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/feature_requester.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | fn get_all(&mut self) -> BoxFuture, FeatureRequesterError>>; [INFO] [stdout] | ^^^^^^^^^ ---------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 20 | fn get_all(&mut self) -> BoxFuture<'_, Result, FeatureRequesterError>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/feature_requester.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | fn get_all(&mut self) -> BoxFuture, FeatureRequesterError>> { [INFO] [stdout] | ^^^^^^^^^ ---------------------------------------------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 52 | fn get_all(&mut self) -> BoxFuture<'_, Result, FeatureRequesterError>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 04s [INFO] running `Command { std: "docker" "inspect" "974bce9bdae1a3fa64d24f6a5f98b1835ca07c6125b44473b8037a109cf116a9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "974bce9bdae1a3fa64d24f6a5f98b1835ca07c6125b44473b8037a109cf116a9", kill_on_drop: false }` [INFO] [stdout] 974bce9bdae1a3fa64d24f6a5f98b1835ca07c6125b44473b8037a109cf116a9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e78cca18f96f3b54e807b0b1051075e625e30e9af75a2f69daf6fb68903a6b64 [INFO] running `Command { std: "docker" "start" "-a" "e78cca18f96f3b54e807b0b1051075e625e30e9af75a2f69daf6fb68903a6b64", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/config.rs:145:42 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 145 - pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stderr] 145 + pub fn data_store_builder(&self) -> &dyn DataStoreFactory { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/config.rs:150:43 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 150 - pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stderr] 150 + pub fn data_source_builder(&self) -> &dyn DataSourceFactory { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/config.rs:155:47 [INFO] [stderr] | [INFO] [stderr] 155 | pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 155 - pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stderr] 155 + pub fn event_processor_builder(&self) -> &dyn EventProcessorFactory { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/events/sender.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | &self, [INFO] [stderr] | ^^^^^ the lifetime is elided here [INFO] [stderr] ... [INFO] [stderr] 37 | ) -> BoxFuture<()>; [INFO] [stderr] | ------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 37 | ) -> BoxFuture<'_, ()>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/events/sender.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | &self, [INFO] [stderr] | ^^^^^ the lifetime is elided here [INFO] [stderr] ... [INFO] [stderr] 102 | ) -> BoxFuture<()> { [INFO] [stderr] | ------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 102 | ) -> BoxFuture<'_, ()> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/feature_requester.rs:20:16 [INFO] [stderr] | [INFO] [stderr] 20 | fn get_all(&mut self) -> BoxFuture, FeatureRequesterError>>; [INFO] [stderr] | ^^^^^^^^^ ---------------------------------------------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 20 | fn get_all(&mut self) -> BoxFuture<'_, Result, FeatureRequesterError>>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/feature_requester.rs:52:16 [INFO] [stderr] | [INFO] [stderr] 52 | fn get_all(&mut self) -> BoxFuture, FeatureRequesterError>> { [INFO] [stderr] | ^^^^^^^^^ ---------------------------------------------------------------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 52 | fn get_all(&mut self) -> BoxFuture<'_, Result, FeatureRequesterError>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/client.rs:1432:25 [INFO] [stderr] | [INFO] [stderr] 1432 | ) -> Result, std::io::Error> { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 1432 - ) -> Result, std::io::Error> { [INFO] [stderr] 1432 + ) -> Result, std::io::Error> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/config.rs:145:42 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 145 - pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stderr] 145 + pub fn data_store_builder(&self) -> &dyn DataStoreFactory { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/stores/persistent_store_builders.rs:105:25 [INFO] [stderr] | [INFO] [stderr] 105 | ) -> Result, std::io::Error> { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 105 - ) -> Result, std::io::Error> { [INFO] [stderr] 105 + ) -> Result, std::io::Error> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `client::Client::initialized_async`: blocking without a timeout is discouraged, use wait_for_initialization instead [INFO] [stderr] --> src/client.rs:891:34 [INFO] [stderr] | [INFO] [stderr] 891 | let initialized = client.initialized_async().await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/events/sender.rs:230:9 [INFO] [stderr] | [INFO] [stderr] 230 | &self, [INFO] [stderr] | ^^^^^ the lifetime is elided here [INFO] [stderr] ... [INFO] [stderr] 233 | ) -> BoxFuture<()> { [INFO] [stderr] | ------------- the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 233 | ) -> BoxFuture<'_, ()> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `launchdarkly-server-sdk` (lib) generated 7 warnings (run `cargo fix --lib -p launchdarkly-server-sdk` to apply 7 suggestions) [INFO] [stderr] warning: `launchdarkly-server-sdk` (lib test) generated 11 warnings (6 duplicates) (run `cargo fix --lib -p launchdarkly-server-sdk --tests` to apply 4 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.40s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/launchdarkly_server_sdk-eb2b161e3dc73d08) [INFO] [stdout] [INFO] [stdout] running 263 tests [INFO] [stdout] test client::tests::all_flags_detail_is_invalid_when_offline ... ok [INFO] [stdout] test client::tests::all_flags_detail_is_invalid_when_not_initialized ... ok [INFO] [stdout] test client::tests::client_initializes_immediately_in_offline_mode ... ok [INFO] [stdout] test client::tests::client_initializes_immediately_in_daemon_mode ... ok [INFO] [stdout] test client::tests::client_updates_changes_evaluation_results::basic_int_flag_myflag_0_into_test_common_float_to_int_max_into_expects ... ok [INFO] [stdout] test client::tests::client_updates_changes_evaluation_results::basic_flag_myflag_false_into_true_into_expects ... ok [INFO] [stdout] test client::tests::daemon_mode_is_quiet_if_store_is_not_initialized ... ok [INFO] [stdout] test client::tests::ensure_client_is_send_and_sync ... ok [INFO] [stdout] test client::tests::all_flags_detail_returns_prerequisite_relations ... ok [INFO] [stdout] test client::tests::identify_sends_sends_nothing_in_offline_mode ... ok [INFO] [stdout] test client::tests::migration_can_determine_correct_stage_from_flag::stage_dualwrite_expects ... ok [INFO] [stdout] test client::tests::migration_can_determine_correct_stage_from_flag::stage_shadow_expects ... ok [INFO] [stdout] test client::tests::migration_handles_flag_not_found ... ok [INFO] [stdout] test client::tests::migration_can_determine_correct_stage_from_flag::stage_off_expects ... ok [INFO] [stdout] test client::tests::migration_can_determine_correct_stage_from_flag::stage_live_expects ... ok [INFO] [stdout] test client::tests::migration_can_determine_correct_stage_from_flag::stage_rampdown_expects ... ok [INFO] [stdout] test client::tests::migration_can_determine_correct_stage_from_flag::stage_complete_expects ... ok [INFO] [stdout] test client::tests::all_flags_detail_returns_flag_states ... ok [INFO] [stdout] test client::tests::migration_uses_non_migration_flag ... ok [INFO] [stdout] test client::tests::secure_mode_hash ... ok [INFO] [stdout] test client::tests::all_flags_detail_returns_prerequisite_relations_when_not_visible_to_clients ... ok [INFO] [stdout] test client::tests::secure_mode_hash_with_multi_kind ... ok [INFO] [stdout] test client::tests::track_sends_nothing_in_offline_mode ... ok [INFO] [stdout] test client::tests::variation_detail_handles_offline_mode ... ok [INFO] [stdout] test client::tests::variation_detail_handles_daemon_mode ... ok [INFO] [stdout] test client::tests::track_sends_track_and_index_events ... ok [INFO] [stdout] test client::tests::variation_detail_handles_flag_not_found ... ok [INFO] [stdout] test client::tests::identify_sends_identify_event ... ok [INFO] [stdout] test client::tests::variation_detail_handles_debug_events_correctly ... ok [INFO] [stdout] test client::tests::variation_handles_offline_mode ... ok [INFO] [stdout] test client::tests::variation_detail_handles_client_not_ready ... ok [INFO] [stdout] test client::tests::variation_detail_tracks_events_correctly ... ok [INFO] [stdout] test client::tests::variation_handles_failed_prereqs_correctly ... ok [INFO] [stdout] test config::tests::application_tag_builder_can_create_tag_string_correctly::empty_tags_returns_none ... ok [INFO] [stdout] test config::tests::application_tag_builder_can_create_tag_string_correctly::invalid_tags_are_filtered ... ok [INFO] [stdout] test config::tests::application_tag_builder_can_create_tag_string_correctly::no_tags_returns_none ... ok [INFO] [stdout] test config::tests::application_tag_builder_can_create_tag_string_correctly::keys_are_ascii_sorted_correctly ... ok [INFO] [stdout] test config::tests::application_tag_builder_can_create_tag_string_correctly::tags_are_formatted_correctly ... ok [INFO] [stdout] test config::tests::application_tag_builder_can_create_tag_string_correctly::keys_are_ordered_correctly ... ok [INFO] [stdout] test client::tests::variation_handles_off_flag_without_variation ... ok [INFO] [stdout] test config::tests::config_builder_handles_application_tags_appropriately::_id_invalid_version_some_application_id_id_to_string_expects ... ok [INFO] [stdout] test config::tests::application_tag_builder_can_create_tag_string_correctly::values_are_ascii_sorted_correctly ... ok [INFO] [stdout] test config::tests::client_configured_with_custom_endpoints ... ok [INFO] [stdout] test config::tests::config_builder_handles_application_tags_appropriately::_id_version_some_application_id_id_application_version_version_to_string_expects ... ok [INFO] [stdout] test config::tests::config_builder_handles_application_tags_appropriately::_invalid_id_invalid_version_none_expects ... ok [INFO] [stdout] test config::tests::config_builder_handles_application_tags_appropriately::_invalid_id_version_some_application_version_version_to_string_expects ... ok [INFO] [stdout] test client::tests::variation_detail_tracks_prereq_events_correctly ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::_64_is_the_max_length ... ok [INFO] [stdout] test config::tests::application_tag_builder_can_create_tag_string_correctly::tags_are_deduped ... ok [INFO] [stdout] test client::tests::migration_tracks_nonauthoritative_write_errors ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::_65_is_too_far ... ok [INFO] [stdout] test client::tests::variation_handles_unknown_flags ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::empty_key ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::empty_value ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::key_with_colon ... ok [INFO] [stdout] test client::tests::variation_tracks_events_correctly ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::key_with_emoji ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::valid_key ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::value_with_emoji ... ok [INFO] [stdout] test config::tests::unconfigured_config_builder_handles_application_tags_correctly ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::key_with_slash ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::key_with_whitespace ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::value_with_colon ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::value_with_slash ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::valid_value ... ok [INFO] [stdout] test config::tests::tag_can_determine_valid_values::value_with_whitespace ... ok [INFO] [stdout] test data_source_builders::tests::stream_builder_can_use_custom_connector ... ok [INFO] [stdout] test data_source_builders::tests::default_polling_builder_has_correct_defaults ... ok [INFO] [stdout] test data_source_builders::tests::default_stream_builder_has_correct_defaults ... ok [INFO] [stdout] test data_source_builders::tests::initial_reconnect_delay_for_streaming_can_be_adjusted ... ok [INFO] [stdout] test evaluation::tests::flag_detail_details_only_should_exclude_reason ... ok [INFO] [stdout] test evaluation::tests::flag_detail_details_only_with_tracked_events_includes_version ... ok [INFO] [stdout] test evaluation::tests::flag_detail_with_default_config_but_tracked_event_should_include_version ... ok [INFO] [stdout] test evaluation::tests::flag_detail_handles_default_configuration ... ok [INFO] [stdout] test evaluation::tests::flag_detail_handles_experimentation_reasons_correctly ... ok [INFO] [stdout] test evaluation::tests::flag_detail_with_reasons_should_include_reason ... ok [INFO] [stdout] test evaluation::tests::flag_prerequisites_should_be_exposed_even_if_not_available_to_clients ... ok [INFO] [stdout] test evaluation::tests::flag_prerequisites_should_be_exposed ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_adds_index_on_custom_event ... ok [INFO] [stdout] test evaluation::tests::flag_prerequisites_should_be_in_evaluation_order ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_can_ignore_identify_if_anonymous ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_can_strip_anonymous_from_index_events ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_can_exclude_feature_event_from_summaries ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_handles_feature_request_events_correctly ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_ignores_events_over_capacity ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_ignores_feature_events_with_0_sampling_ratio ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_only_notices_identity_event_once ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_can_strip_anonymous_from_index_events_with_multi_kinds ... ok [INFO] [stdout] test client::tests::migration_tracks_authoritative_write_errors ... ok [INFO] [stdout] test client::tests::migration_tracks_read_errors ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_strips_anonymous_contexts_from_index_for_feature_request_events ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_strips_anon_contexts_from_multi_kind_identify ... ok [INFO] [stdout] test events::dispatcher::tests::can_process_events_successfully ... ok [INFO] [stdout] test events::dispatcher::tests::get_payload_from_outbox_empties_outbox ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::false_false_false_reason_fallthrough_in_experiment_false_false_false_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::false_false_false_reason_fallthrough_in_experiment_true_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::false_false_false_reason_off_false_false_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::false_false_true_reason_fallthrough_in_experiment_false_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::false_true_false_reason_off_true_false_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::false_false_true_reason_off_false_false_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::true_false_false_reason_fallthrough_in_experiment_true_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::true_false_false_reason_off_false_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::true_false_true_reason_fallthrough_in_experiment_false_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::true_false_true_reason_off_false_true_expects ... ok [INFO] [stdout] test events::dispatcher::tests::sending_feature_event_emits_debug_event_correctly::_64_060_606_800_000_64_060_606_800_000_vec_index_summary_expects ... ok [INFO] [stdout] test events::dispatcher::tests::sending_feature_event_emits_debug_event_correctly::_0_64_060_606_800_000_vec_debug_index_summary_expects ... ok [INFO] [stdout] test events::dispatcher::tests::sending_feature_event_emits_debug_event_correctly::_64_060_606_800_001_64_060_606_800_000_vec_index_summary_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events_for_rule_matches::false_0_true_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events_for_rule_matches::false_1_false_false_false_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events_for_rule_matches::false_0_false_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::true_true_false_reason_off_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events::true_false_false_reason_fallthrough_in_experiment_false_false_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events_for_rule_matches::false_1_true_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events_for_rule_matches::true_0_false_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events_for_rule_matches::true_1_true_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events_for_rule_matches::true_1_false_false_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_eval_tracks_events_for_rule_matches::true_0_true_true_true_expects ... ok [INFO] [stdout] test events::event::tests::event_factory_unknown_flags_do_not_track_events ... ok [INFO] [stdout] test events::event::tests::serializes_custom_event_without_inlining_user ... ok [INFO] [stdout] test events::event::tests::serializes_custom_event ... ok [INFO] [stdout] test events::event::tests::serializes_feature_request_event_with_all_private_attributes ... ok [INFO] [stdout] test events::event::tests::serializes_feature_request_event_with_anonymous_attribute_redaction ... ok [INFO] [stdout] test events::event::tests::serializes_feature_request_event ... ok [INFO] [stdout] test client::tests::migration_tracks_invoked_correctly ... ok [INFO] [stdout] test events::event::tests::serializes_feature_request_event_with_anonymous_attribute_redaction_in_multikind_context ... ok [INFO] [stdout] test events::event::tests::serializes_feature_request_event_with_local_private_attribute ... ok [INFO] [stdout] test events::event::tests::serializes_index_event ... ok [INFO] [stdout] test events::event::tests::serializes_feature_request_event_without_inlining_user ... ok [INFO] [stdout] test events::event::tests::serializes_identify_event ... ok [INFO] [stdout] test events::event::tests::summary_resets_appropriately ... ok [INFO] [stdout] test events::event::tests::summarises_feature_request ... ok [INFO] [stdout] test events::event::tests::serializes_summary_event ... ok [INFO] [stdout] test events::event::tests::serializes_feature_request_event_with_global_private_attribute ... ok [INFO] [stdout] test events::processor::tests::calling_close_on_processor_twice_returns ... ok [INFO] [stdout] test events::processor_builders::tests::all_attribute_private_can_be_adjusted ... ok [INFO] [stdout] test events::processor_builders::tests::capacity_can_be_adjusted ... ok [INFO] [stdout] test events::processor_builders::tests::attribte_names_can_be_adjusted ... ok [INFO] [stdout] test events::processor_builders::tests::context_keys_capacity_can_be_adjusted ... ok [INFO] [stdout] test events::processor_builders::tests::context_keys_flush_interval_can_be_adjusted ... ok [INFO] [stdout] test events::processor_builders::tests::default_builder_has_correct_defaults ... ok [INFO] [stdout] test events::processor_builders::tests::flush_interval_can_be_adjusted ... ok [INFO] [stdout] test events::processor::tests::feature_events_dedupe_index_events ... ok [INFO] [stdout] test events::processor::tests::sending_feature_event_emits_correct_events::false_vec_index_summary_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_bad_request_true_expects ... ok [INFO] [stdout] test events::processor::tests::sending_feature_event_emits_correct_events::true_vec_index_feature_summary_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_continue_true_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_internal_server_error_true_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_conflict_false_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_multiple_choices_true_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_ok_true_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_request_header_fields_too_large_false_expects ... ok [INFO] [stdout] test events::processor::tests::sending_feature_event_with_rule_track_events_emits_feature_and_summary ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_request_timeout_true_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_too_many_requests_true_expects ... ok [INFO] [stdout] test events::sender::tests::can_determine_recoverable_errors::hyper_statuscode_unauthorized_false_expects ... ok [INFO] [stdout] test events::sender::tests::unrecoverable_failure_requires_shutdown ... ok [INFO] [stdout] test events::sender::tests::can_parse_server_time_from_response ... ok [INFO] [stdout] test feature_requester::tests::can_process_large_body ... ok [INFO] [stdout] test feature_requester::tests::correctly_determines_unrecoverable_errors::_400_featurerequestererror_temporary_expects ... ok [INFO] [stdout] test feature_requester::tests::correctly_determines_unrecoverable_errors::_401_featurerequestererror_permanent_expects ... ok [INFO] [stdout] test feature_requester::tests::correctly_determines_unrecoverable_errors::_409_featurerequestererror_permanent_expects ... ok [INFO] [stdout] test events::processor_builders::tests::processor_sends_correct_headers::none_matcher_missing_expects ... ok [INFO] [stdout] test feature_requester::tests::correctly_determines_unrecoverable_errors::_408_featurerequestererror_temporary_expects ... ok [INFO] [stdout] test feature_requester::tests::correctly_determines_unrecoverable_errors::_429_featurerequestererror_temporary_expects ... ok [INFO] [stdout] test feature_requester::tests::correctly_determines_unrecoverable_errors::_430_featurerequestererror_permanent_expects ... ok [INFO] [stdout] test feature_requester::tests::correctly_determines_unrecoverable_errors::_500_featurerequestererror_temporary_expects ... ok [INFO] [stdout] test events::processor_builders::tests::processor_sends_correct_headers::some_application_id_abc_application_sha_xyz_into_application_id_abc_application_sha_xyz_expects ... ok [INFO] [stdout] test feature_requester_builders::tests::factory_handles_url_parsing_failure ... ok [INFO] [stdout] test migrations::migrator::tests::can_build_successfully ... ok [INFO] [stdout] test migrations::migrator::tests::can_modify_execution_order::executionorder_concurrent_expects ... ok [INFO] [stdout] test migrations::migrator::tests::can_modify_execution_order::executionorder_random_expects ... ok [INFO] [stdout] test migrations::migrator::tests::can_modify_execution_order::executionorder_serial_expects ... ok [INFO] [stdout] test feature_requester::tests::updates_etag_as_appropriate ... ok [INFO] [stdout] test migrations::migrator::tests::read_handles_correct_origin ... ok [INFO] [stdout] test migrations::migrator::tests::read_passes_payload_through ... ok [INFO] [stdout] test migrations::migrator::tests::write_handles_correct_origin ... ok [INFO] [stdout] test migrations::migrator::tests::write_passes_payload_through ... ok [INFO] [stdout] test migrations::migrator::tests::write_stops_if_authoritative_fails ... ok [INFO] [stdout] test migrations::tracker::tests::build_minimal_tracker ... ok [INFO] [stdout] test migrations::tracker::tests::build_without_flag ... ok [INFO] [stdout] test migrations::tracker::tests::consistency_can_be_disabled_through_sampling_ratio::false_expects ... ok [INFO] [stdout] test migrations::tracker::tests::consistency_can_be_disabled_through_sampling_ratio::true_expects ... ok [INFO] [stdout] test migrations::tracker::tests::fails_without_calling_invocations ... ok [INFO] [stdout] test migrations::tracker::tests::fails_without_operation ... ok [INFO] [stdout] test migrations::tracker::tests::track_both_latencies ... ok [INFO] [stdout] test migrations::tracker::tests::track_errors_individually::origin_new_expects ... ok [INFO] [stdout] test migrations::tracker::tests::track_errors_individually::origin_old_expects ... ok [INFO] [stdout] test migrations::tracker::tests::track_invocations_individually::origin_old_expects ... ok [INFO] [stdout] test migrations::tracker::tests::track_invocations_individually::origin_new_expects ... ok [INFO] [stdout] test migrations::tracker::tests::track_latencies_individually::origin_new_expects ... ok [INFO] [stdout] test migrations::tracker::tests::tracks_both_errors ... ok [INFO] [stdout] test migrations::tracker::tests::tracks_both_invocations ... ok [INFO] [stdout] test migrations::tracker::tests::track_latencies_individually::origin_old_expects ... ok [INFO] [stdout] test migrations::tracker::tests::tracks_consistency::false_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_bad_request_true_expects ... ok [INFO] [stdout] test migrations::tracker::tests::tracks_consistency::true_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_conflict_false_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_continue_true_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_internal_server_error_true_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_ok_true_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_multiple_choices_true_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_request_header_fields_too_large_false_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_request_timeout_true_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_too_many_requests_true_expects ... ok [INFO] [stdout] test reqwest::tests::can_determine_recoverable_errors::statuscode_unauthorized_false_expects ... ok [INFO] [stdout] test reqwest::tests::json_float_serialization_matches_go::_130_65331632653061_130_65331632653061_expects ... ok [INFO] [stdout] test reqwest::tests::json_float_serialization_matches_go::_130_65331632653062_130_65331632653061_expects ... ok [INFO] [stdout] test reqwest::tests::json_float_serialization_matches_go::_130_65331632653063_130_65331632653064_expects ... ok [INFO] [stdout] test sampler::tests::test_can_affect_sampling_ratio ... ok [INFO] [stdout] test sampler::tests::test_one_is_true ... ok [INFO] [stdout] test sampler::tests::test_zero_is_false ... ok [INFO] [stdout] test service_endpoints::tests::configure_relay_proxy ... ok [INFO] [stdout] test service_endpoints::tests::default_configuration ... ok [INFO] [stdout] test service_endpoints::tests::full_custom_configuration ... ok [INFO] [stdout] test service_endpoints::tests::service_endpoints_trims_base_urls::requires_no_trimming ... ok [INFO] [stdout] test service_endpoints::tests::service_endpoints_trims_base_urls::requires_no_trimming_with_scheme ... ok [INFO] [stdout] test service_endpoints::tests::partial_definition ... ok [INFO] [stdout] test service_endpoints::tests::service_endpoints_trims_base_urls::trims_multiple_trailing_slashes ... ok [INFO] [stdout] test service_endpoints::tests::service_endpoints_trims_base_urls::trims_trailing_slash ... ok [INFO] [stdout] test service_endpoints::tests::service_endpoints_trims_base_urls::trims_trailing_slash_with_scheme ... ok [INFO] [stdout] test stores::persistent_store_builders::tests::builder_can_support_different_cache_ttl_options ... ok [INFO] [stdout] test stores::persistent_store_wrapper::tests::cache_that_never_expires_should_update_all_flags_cache_when_flag_is_updated ... ok [INFO] [stdout] test stores::persistent_store_wrapper::tests::cache_that_never_expires_should_update_all_segments_cache_when_segment_is_updated ... ok [INFO] [stdout] test stores::persistent_store_wrapper::tests::can_retrieve_flags_without_cache ... ok [INFO] [stdout] test stores::persistent_store_wrapper::tests::retrieving_flags_uses_cache ... ok [INFO] [stdout] test stores::persistent_store_wrapper::tests::retrieving_segments_uses_cache ... ok [INFO] [stdout] test stores::store::tests::in_memory_can_be_initialized ... ok [INFO] [stdout] test stores::store::tests::in_memory_can_delete_flag ... ok [INFO] [stdout] test stores::store::tests::in_memory_can_delete_segment ... ok [INFO] [stdout] test stores::store::tests::in_memory_can_return_all_flags ... ok [INFO] [stdout] test stores::store::tests::in_memory_patch_can_upsert_flag ... ok [INFO] [stdout] test stores::store::tests::in_memory_patch_can_upsert_flag_deleted_flag ... ok [INFO] [stdout] test stores::store::tests::in_memory_patch_can_upsert_segment ... ok [INFO] [stdout] test stores::store::tests::in_memory_patch_can_upsert_segment_deleted_segment ... ok [INFO] [stdout] test stores::store::tests::in_memory_patch_does_not_update_flag_with_older_version::_41_42_expects ... ok [INFO] [stdout] test stores::store::tests::in_memory_patch_does_not_update_flag_with_older_version::_43_43_expects ... ok [INFO] [stdout] test stores::store::tests::in_memory_patch_does_not_update_segment_with_older_version::_0_1_expects ... ok [INFO] [stdout] test stores::store::tests::in_memory_patch_does_not_update_segment_with_older_version::_2_2_expects ... ok [INFO] [stdout] test stores::store_types::tests::flag_can_be_serialized_and_back ... ok [INFO] [stdout] test stores::store_types::tests::flag_tombstone_can_be_serialized_and_back ... ok [INFO] [stdout] test stores::store_types::tests::segment_can_be_serialized_and_back ... ok [INFO] [stdout] test stores::store_types::tests::segment_tombstone_can_be_serialized_and_back ... ok [INFO] [stdout] test stores::store_types::tests::serialized_flag_with_0_version_uses_serialied_information ... ok [INFO] [stdout] test stores::store_types::tests::serialized_segment_with_0_version_uses_serialied_information ... ok [INFO] [stdout] test tests::json_float_serialization_matches_go::_130_65331632653061_130_65331632653061_expects ... ok [INFO] [stdout] test tests::json_float_serialization_matches_go::_130_65331632653062_130_65331632653061_expects ... ok [INFO] [stdout] test tests::json_float_serialization_matches_go::_130_65331632653063_130_65331632653064_expects ... ok [INFO] [stdout] test version::tests::test_version_string ... ok [INFO] [stdout] test events::dispatcher::tests::dispatcher_flushes_periodically ... ok [INFO] [stdout] test migrations::migrator::tests::read_handles_concurrent_execution ... ok [INFO] [stdout] test client::tests::migration_tracks_consistency ... ok [INFO] [stdout] test client::tests::client_asynchronously_initializes_slower_than_timeout ... ok [INFO] [stdout] test stores::persistent_store_wrapper::tests::cache_expires ... ok [INFO] [stdout] test client::tests::client_asynchronously_initializes_within_timeout ... ok [INFO] [stdout] test client::tests::client_asynchronously_initializes ... ok [INFO] [stdout] test data_source::tests::streaming_source_passes_along_tags_header::none_matcher_missing_expects ... ok [INFO] [stdout] test data_source::tests::streaming_source_passes_along_tags_header::some_application_id_abc_application_sha_xyz_into_application_id_abc_application_sha_xyz_expects ... ok [INFO] [stdout] test data_source::tests::polling_source_passes_along_tags_header::none_matcher_missing_expects ... ok [INFO] [stdout] test data_source::tests::polling_source_passes_along_tags_header::some_application_id_abc_application_sha_xyz_into_application_id_abc_application_sha_xyz_expects ... ok [INFO] [stdout] test events::sender::tests::recoverable_failures_are_attempted_multiple_times ... ok [INFO] [stdout] test events::sender::tests::retrying_requests_can_eventually_succeed ... ok [INFO] [stdout] test migrations::migrator::tests::read_handles_nonconcurrent_execution ... ok [INFO] [stdout] test client::tests::migration_tracks_latency ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 263 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.80s [INFO] [stdout] [INFO] [stderr] Doc-tests launchdarkly_server_sdk [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/config.rs:145:42 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 145 - pub fn data_store_builder(&self) -> &(dyn DataStoreFactory) { [INFO] [stderr] 145 + pub fn data_store_builder(&self) -> &dyn DataStoreFactory { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/config.rs:150:43 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 150 - pub fn data_source_builder(&self) -> &(dyn DataSourceFactory) { [INFO] [stderr] 150 + pub fn data_source_builder(&self) -> &dyn DataSourceFactory { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/config.rs:155:47 [INFO] [stderr] | [INFO] [stderr] 155 | pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 155 - pub fn event_processor_builder(&self) -> &(dyn EventProcessorFactory) { [INFO] [stderr] 155 + pub fn event_processor_builder(&self) -> &dyn EventProcessorFactory { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 3 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test src/data_source_builders.rs - data_source_builders::StreamingDataSourceBuilder (line 48) ... ok [INFO] [stdout] test src/service_endpoints.rs - service_endpoints::ServiceEndpointsBuilder (line 59) ... ok [INFO] [stdout] test src/evaluation.rs - evaluation::FlagDetailConfig (line 15) ... ok [INFO] [stdout] test src/data_source_builders.rs - data_source_builders::PollingDataSourceBuilder (line 190) ... ok [INFO] [stdout] test src/data_source_builders.rs - data_source_builders::PollingDataSourceBuilder (line 220) ... ok [INFO] [stdout] test src/service_endpoints.rs - service_endpoints::ServiceEndpointsBuilder (line 50) ... ok [INFO] [stdout] test src/events/processor_builders.rs - events::processor_builders::EventProcessorBuilder (line 66) ... ok [INFO] [stdout] test src/client.rs - client::Client (line 135) ... ok [INFO] [stdout] test src/client.rs - client::Client (line 126) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.40s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e78cca18f96f3b54e807b0b1051075e625e30e9af75a2f69daf6fb68903a6b64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e78cca18f96f3b54e807b0b1051075e625e30e9af75a2f69daf6fb68903a6b64", kill_on_drop: false }` [INFO] [stdout] e78cca18f96f3b54e807b0b1051075e625e30e9af75a2f69daf6fb68903a6b64