[INFO] fetching crate metered-core 0.10.0-rc.1...
[INFO] testing metered-core-0.10.0-rc.1 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate metered-core 0.10.0-rc.1 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate metered-core 0.10.0-rc.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate metered-core 0.10.0-rc.1
[INFO] tweaked toml for crates.io crate metered-core 0.10.0-rc.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate metered-core 0.10.0-rc.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate metered-core 0.10.0-rc.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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded metered-macro v0.10.0-rc.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c
[INFO] running `Command { std: "docker" "start" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling arc-swap v1.9.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling metered-macro v0.10.0-rc.1
[INFO] [stderr]    Compiling metered-core v0.10.0-rc.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<i64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 110 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 110 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 144 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 144 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 173 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 173 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_entries` is never used
[INFO] [stdout]    --> src/registry/view.rs:388:19
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl<'a, C: 'a> MetricTreeView<'a, C> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 388 |     pub(crate) fn has_entries(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 11.70s
[INFO] running `Command { std: "docker" "inspect" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.49
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<i64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 110 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 110 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 144 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 144 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 173 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 173 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_entries` is never used
[INFO] [stdout]    --> src/registry/view.rs:388:19
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl<'a, C: 'a> MetricTreeView<'a, C> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 388 |     pub(crate) fn has_entries(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[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 proptest v1.11.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling metered-core v0.10.0-rc.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<i64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]   --> tests/scalar_traits.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |             .fetch_update(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 45 -             .fetch_update(
[INFO] [stdout] 45 +             .try_update(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<i64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 110 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 110 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 144 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 144 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/instruments/primitives/gauge.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 173 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 173 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_entries` is never used
[INFO] [stdout]    --> src/registry/view.rs:388:19
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl<'a, C: 'a> MetricTreeView<'a, C> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 388 |     pub(crate) fn has_entries(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 32.26s
[INFO] running `Command { std: "docker" "inspect" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<i64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stderr]    --> src/instruments/primitives/gauge.rs:110:14
[INFO] [stderr]     |
[INFO] [stderr] 110 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr]     |              ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 110 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr] 110 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stderr]    --> src/instruments/primitives/gauge.rs:144:14
[INFO] [stderr]     |
[INFO] [stderr] 144 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr]     |              ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 144 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr] 144 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stderr]    --> src/instruments/primitives/gauge.rs:173:14
[INFO] [stderr]     |
[INFO] [stderr] 173 |         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr]     |              ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 173 -         self.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr] 173 +         self.try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: method `has_entries` is never used
[INFO] [stderr]    --> src/registry/view.rs:388:19
[INFO] [stderr]     |
[INFO] [stderr]  73 | impl<'a, C: 'a> MetricTreeView<'a, C> {
[INFO] [stderr]     | ------------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 388 |     pub(crate) fn has_entries(&self) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `metered-core` (lib) generated 4 warnings (run `cargo fix --lib -p metered-core` to apply 3 suggestions)
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<i64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stderr]   --> tests/scalar_traits.rs:45:14
[INFO] [stderr]    |
[INFO] [stderr] 45 |             .fetch_update(
[INFO] [stderr]    |              ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 45 -             .fetch_update(
[INFO] [stderr] 45 +             .try_update(
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `metered-core` (test "scalar_traits") generated 1 warning (run `cargo fix --test "scalar_traits" -p metered-core` to apply 1 suggestion)
[INFO] [stderr] warning: `metered-core` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/metered_core-35bd63f6e499c0f4)
[INFO] [stdout] 
[INFO] [stdout] running 113 tests
[INFO] [stdout] test instruments::bucket_histogram::tests::exemplar_is_stored_in_its_bucket ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::relative_buckets_bound_the_step_and_cover_the_range ... ok
[INFO] [stdout] test instruments::exponential_histogram::dynamic::tests::slot_window_state_adopts_once_upgrades_once_and_reopens ... ok
[INFO] [stdout] test instruments::exponential_histogram::dynamic::tests::straggler_increment_on_a_retired_table_is_reconciled ... ok
[INFO] [stdout] test instruments::exponential_histogram::dynamic::tests::stale_saturated_flag_does_not_downscale_a_sparse_live_table ... ok
[INFO] [stdout] test instruments::exponential_histogram::fixed::tests::a_normal_range_constructs_and_counts ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::one_millisecond_lands_in_fast_one_milli_bucket ... ok
[INFO] [stdout] test instruments::exponential_histogram::dynamic::tests::drain_defers_a_slot_whose_index_is_not_yet_visible ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::diagnostic_text_includes_summary_and_sparse_buckets ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::fifty_microseconds_keeps_resolution_in_seconds ... ok
[INFO] [stdout] test instruments::exponential_histogram::fixed::tests::an_extreme_observation_overflows_cleanly_not_the_slot_arithmetic ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::custom_sorts_dedups_and_drops_invalid ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::snapshot_constructors_round_trip_with_a_recorded_backend ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::snapshot_is_cumulative_and_monotonic ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::value_above_all_bounds_lands_in_inf_bucket ... ok
[INFO] [stdout] test instruments::exponential_histogram::dynamic::tests::downscale_defers_a_slot_whose_index_is_not_yet_visible ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::index_and_bounds_are_consistent_across_schemas ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::exponential_buckets_have_wide_dynamic_range ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::concurrent_observes_are_lock_free_and_consistent ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::dynamic_records_and_snapshots ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::fixed_drops_nan_without_poisoning_sum_or_count ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::dynamic_adopts_first_exemplar_and_upgrades_on_interest ... ok
[INFO] [stdout] test instruments::exponential_histogram::fixed::tests::try_new_rejects_out_of_contract_requests_instead_of_clamping ... ok
[INFO] [stdout] test instruments::exponential_histogram::dynamic::tests::housekeep_skips_the_retired_mutex_when_nothing_was_ever_retired ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::dynamic_downscales_under_wide_spread_without_losing_observations ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::dynamic_drops_nan_without_poisoning_sum_or_count ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::dynamic_housekeep_reopens_exemplar_window ... ok
[INFO] [stdout] test instruments::bucket_histogram::tests::nan_observation_is_dropped_and_does_not_poison_sum ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::le_conversion_is_cumulative_monotonic_and_totals_match ... ok
[INFO] [stdout] test instruments::gauge_histogram::tests::nan_enter_and_leave_are_dropped_and_do_not_poison_gsum ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::observe_routes_values_sum_and_count ... ok
[INFO] [stdout] test instruments::gauge_histogram::tests::enter_and_leave_track_a_current_distribution ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::relative_resolution_tightens_with_schema ... ok
[INFO] [stdout] test instruments::gauge_histogram::tests::snapshot_constructors_round_trip_with_a_recorded_instrument ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::snapshot_constructors_round_trip_with_the_internal_assembly ... ok
[INFO] [stdout] test instruments::gauge_histogram::tests::new_normalizes_unsorted_and_duplicate_bounds ... ok
[INFO] [stdout] test instruments::gauge_histogram::tests::renders_buckets_gcount_and_gsum ... ok
[INFO] [stdout] test instruments::gauge_histogram::tests::user_le_label_on_a_gauge_histogram_is_reserved ... ok
[INFO] [stdout] test instruments::histogram::tests::exponential_backends_expose_native_view ... ok
[INFO] [stdout] test instruments::primitives::counter::tests::counter_is_readable_source_of_truth ... ok
[INFO] [stdout] test instruments::histogram::tests::backends_are_swappable_behind_the_trait ... ok
[INFO] [stdout] test instruments::primitives::counter::tests::counter_trait_name_stays_public_and_as_counter_wraps_it ... ok
[INFO] [stdout] test instruments::primitives::gauge::tests::gauge_is_a_readable_source_of_truth ... ok
[INFO] [stdout] test instruments::exponential_histogram::tests::dynamic_is_lock_free_and_consistent_under_concurrent_observe_and_housekeep ... ok
[INFO] [stdout] test instruments::summary::tests::user_quantile_label_on_a_summary_is_reserved ... ok
[INFO] [stdout] test instruments::summary::buckets::tests::empty_histogram_quantile_is_nan ... ok
[INFO] [stdout] test instruments::summary::buckets::tests::quantile_in_inf_bucket_returns_largest_finite_bound ... ok
[INFO] [stdout] test instruments::primitives::gauge::tests::gauge_trait_name_stays_public_and_supports_signed_values ... ok
[INFO] [stdout] test instruments::summary::tests::out_of_range_quantiles_are_dropped ... ok
[INFO] [stdout] test instruments::summary::tests::summary_renders_quantiles_sum_and_count ... ok
[INFO] [stdout] test instruments::summary::buckets::tests::quantile_interpolates_within_landing_bucket ... ok
[INFO] [stdout] test instruments::primitives::gauge::tests::gauge_supports_unsigned_values_and_as_gauge_wraps_it ... ok
[INFO] [stdout] test labels::family::tests::a_key_label_colliding_with_an_enclosing_constant_label_wins_once ... ok
[INFO] [stdout] test labels::family::tests::empty_family_describe_builds_the_prototype_exactly_once ... ok
[INFO] [stdout] test instruments::primitives::info::tests::as_info_wraps_an_info_value_for_hand_written_trees ... ok
[INFO] [stdout] test labels::interner::tests::overflow_collapses_to_other ... ok
[INFO] [stdout] test instruments::primitives::stateset::tests::stateset_tracks_the_active_state ... ok
[INFO] [stdout] test labels::family::tests::remove_drops_a_series ... ok
[INFO] [stdout] test labels::family::tests::a_visitor_only_impl_gets_encode_labels_for_free ... ok
[INFO] [stdout] test labels::family::tests::with_existing_records_without_ever_minting_a_series ... ok
[INFO] [stdout] test instruments::summary::buckets::tests::bucket_histogram_renders_as_a_summary ... ok
[INFO] [stdout] test labels::family::tests::describe_falls_back_to_a_live_keys_label_names ... ok
[INFO] [stdout] test instruments::summary::buckets::tests::bucket_quantiles_read_summary_is_consistent ... ok
[INFO] [stdout] test labels::slices::tests::compose_labels_dedupes_collisions_within_inner_itself ... ok
[INFO] [stdout] test model::handle::tests::handle_shares_and_derefs_backing_state ... ok
[INFO] [stdout] test model::meta::tests::help_is_separate_from_name_at_type_level ... ok
[INFO] [stdout] test model::meta::tests::name_accepts_static_and_owned_strings ... ok
[INFO] [stdout] test model::meta::tests::scalar_accepts_integer_and_float_values ... ok
[INFO] [stdout] test model::meta::tests::scalar_preserves_integer_sample_value_shape ... ok
[INFO] [stdout] test instruments::summary::buckets::tests::exponential_histogram_is_a_quantile_source ... ok
[INFO] [stdout] test model::metric_tree::tests::arc_forwards_like_the_inner_tree ... ok
[INFO] [stdout] test model::metric_tree::tests::describe_metric_impls_cover_core_types ... ok
[INFO] [stdout] test labels::interner::tests::at_cap_overflow_resolves_without_the_write_lock ... ok
[INFO] [stdout] test instruments::summary::tests::summary_describes_a_summary_family_with_quantile_label ... ok
[INFO] [stdout] test labels::family::tests::function_constructor_does_not_leak_into_family_type ... ok
[INFO] [stdout] test labels::interner::tests::known_values_intern_and_dedupe ... ok
[INFO] [stdout] test model::metric_tree::tests::option_some_forwards_like_inner_and_none_is_a_noop ... ok
[INFO] [stdout] test model::schema::tests::family_index_stays_coherent_across_inserts_and_metadata ... ok
[INFO] [stdout] test model::schema::tests::add_family_merges_and_sorts_label_names ... ok
[INFO] [stdout] test model::schema::tests::structural_owners_of_reserved_labels_pass_validate ... ok
[INFO] [stdout] test instruments::summary::tests::reading_constructor_round_trips_with_a_source ... ok
[INFO] [stdout] test model::schema::tests::metadata_setters_work_before_and_after_add_family ... ok
[INFO] [stdout] test model::schema::tests::set_metadata_for_merges_like_the_single_setters_on_the_stash_path ... ok
[INFO] [stdout] test labels::interner::tests::preregistered_values_never_overflow ... ok
[INFO] [stdout] test labels::slices::tests::compose_labels_appends_disjoint_names_in_order ... ok
[INFO] [stdout] test labels::slices::tests::compose_labels_lets_the_inner_pair_win_a_name_collision ... ok
[INFO] [stdout] test labels::family::tests::housekeep_only_visits_members_that_need_it ... ok
[INFO] [stdout] test model::meta::tests::unit_renders_openmetrics_tokens ... ok
[INFO] [stdout] test model::schema::tests::structural_path_flags_incoming_collision_with_owned_reserved_label ... ok
[INFO] [stdout] test model::schema::tests::validate_flags_a_declaration_with_a_reserved_label_name ... ok
[INFO] [stdout] test model::schema::tests::metadata_applies_once_to_the_exact_family ... ok
[INFO] [stdout] test model::schema::tests::name_has_unit_suffix_matches_the_openmetrics_rule ... ok
[INFO] [stdout] test model::schema::tests::set_metadata_for_merges_like_the_single_setters_on_an_added_family ... ok
[INFO] [stdout] test model::values::tests::sample_value_renders_openmetrics_special_floats ... ok
[INFO] [stdout] test model::shape::tests::renamed_and_flatten_keep_schema_and_values_in_lockstep ... ok
[INFO] [stdout] test model::schema::tests::validate_flags_a_declaration_with_duplicate_label_names ... ok
[INFO] [stdout] test model::values::tests::metric_values_helpers_add_counter_gauge_and_samples ... ok
[INFO] [stdout] test registry::tests::registry_values_match_registered_metric_trees ... ok
[INFO] [stdout] test model::schema::tests::validate_reports_type_conflicts_without_failing_the_scrape ... ok
[INFO] [stdout] test model::schema::tests::validate_requires_the_unit_to_suffix_the_family_name ... ok
[INFO] [stdout] test query::tests::summary_emits_a_single_generic_quantile_query ... ok
[INFO] [stdout] test model::values::tests::metric_values_can_attach_exemplars_to_samples ... ok
[INFO] [stdout] test registry::tests::registry_and_view_are_debuggable ... ok
[INFO] [stdout] test registry::entry::leaf::tests::projected_info_with_declared_labels_matches_its_values_in_a_family_view ... ok
[INFO] [stdout] test registry::entry::leaf::tests::projected_info_without_declared_labels_is_recorded_as_undescribed ... ok
[INFO] [stdout] test sink::tests::from_fmt_error_records_no_source ... ok
[INFO] [stdout] test sink::tests::from_source_exposes_the_underlying_failure ... ok
[INFO] [stdout] test query::tests::promql_queries_group_histograms_by_le ... ok
[INFO] [stdout] test sink::tests::encode_hands_schema_and_values_to_the_sink ... ok
[INFO] [stdout] test model::values::tests::sample_constructors_round_trip_with_the_values_helpers ... ok
[INFO] [stdout] test query::tests::metricsql_queries_group_histograms_by_vmrange_and_wrap_heatmaps ... ok
[INFO] [stdout] test sink::tests::encode_propagates_a_sink_error_with_its_source ... ok
[INFO] [stderr]      Running tests/scalar_traits.rs (/opt/rustwide/target/release/deps/scalar_traits-390fb11d5b06a7fd)
[INFO] [stdout] test instruments::exponential_histogram::tests::dynamic_concurrent_exemplars_and_housekeep_stay_consistent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 113 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test info_metric_labels_are_runtime_mutable ... ok
[INFO] [stderr]      Running tests/static_view_send_sync.rs (/opt/rustwide/target/release/deps/static_view_send_sync-9b78d7c80ebb606d)
[INFO] [stdout] test registry_registers_external_scalar_trait_values_with_fixed_metric_kinds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]    Doc-tests metered_core
[INFO] [stdout] test static_view_is_send_sync_and_scrapes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::linear_duration (line 246) ... FAILED
[INFO] [stdout] test src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::custom_duration (line 229) ... FAILED
[INFO] [stdout] test src/labels/family.rs - labels::family::Family<L,M,C>::new_with_constructor (line 184) ... FAILED
[INFO] [stdout] test src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::linear (line 145) ... FAILED
[INFO] [stdout] test src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::custom (line 72) ... FAILED
[INFO] [stdout] test src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential_duration (line 260) ... FAILED
[INFO] [stdout] test src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential (line 165) ... FAILED
[INFO] [stdout] test src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential_range_duration (line 276) ... FAILED
[INFO] [stdout] test src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::relative (line 206) ... FAILED
[INFO] [stdout] test src/labels/family.rs - labels::family::Family<L,M>::new_with_constructor_fn (line 347) ... FAILED
[INFO] [stdout] test src/instruments/primitives/counter.rs - instruments::primitives::counter::Counter (line 28) ... FAILED
[INFO] [stdout] test src/adapter.rs - adapter (line 11) ... FAILED
[INFO] [stdout] test src/labels/family.rs - labels::family (line 13) ... FAILED
[INFO] [stdout] test src/instruments/primitives/gauge.rs - instruments::primitives::gauge::Gauge (line 39) ... FAILED
[INFO] [stdout] test src/registry/view.rs - registry::view::MetricsView (line 23) ... FAILED
[INFO] [stdout] test src/registry/view.rs - registry::view::MetricTreeView<'a,C>::family_view (line 182) ... FAILED
[INFO] [stdout] test src/model/shape.rs - model::shape (line 19) ... FAILED
[INFO] [stdout] test src/labels/family.rs - labels::family::Family (line 121) ... FAILED
[INFO] [stdout] test src/model/metric_tree.rs - model::metric_tree::MetricTreeExt (line 361) ... FAILED
[INFO] [stdout] test src/registry/view.rs - registry::view::MetricTreeView<'a,C>::family_by (line 239) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::linear_duration (line 246) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/instruments/bucket_histogram.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 | use metered::bucket_histogram::Buckets;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::custom_duration (line 229) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/instruments/bucket_histogram.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 | use metered::bucket_histogram::Buckets;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/labels/family.rs - labels::family::Family<L,M,C>::new_with_constructor (line 184) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/labels/family.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 | use metered::bucket_histogram::{BucketHistogram, Buckets};
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]    --> src/labels/family.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | use metered::Family;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::linear (line 145) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/instruments/bucket_histogram.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 | use metered::bucket_histogram::Buckets;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::custom (line 72) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]   --> src/instruments/bucket_histogram.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | use metered::bucket_histogram::Buckets;
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential_duration (line 260) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/instruments/bucket_histogram.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 | use metered::bucket_histogram::Buckets;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential (line 165) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/instruments/bucket_histogram.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 | use metered::bucket_histogram::Buckets;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential_range_duration (line 276) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/instruments/bucket_histogram.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | use metered::bucket_histogram::Buckets;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::relative (line 206) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/instruments/bucket_histogram.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | use metered::bucket_histogram::Buckets;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/labels/family.rs - labels::family::Family<L,M>::new_with_constructor_fn (line 347) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]    --> src/labels/family.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 348 | use metered::{BucketHistogram, Buckets, Family};
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/primitives/counter.rs - instruments::primitives::counter::Counter (line 28) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]   --> src/instruments/primitives/counter.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use metered::{Counter, Gauge};
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/adapter.rs - adapter (line 11) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]   --> src/adapter.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use metered::adapter::flag;
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]   --> src/adapter.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use metered::MetricTree;
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `metered_om`
[INFO] [stdout]   --> src/adapter.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use metered_om::OpenMetricsEncoder;
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `metered_om`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 15 - use metered_om::OpenMetricsEncoder;
[INFO] [stdout] 15 + use metered_core::OpenMetricsEncoder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/labels/family.rs - labels::family (line 13) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]   --> src/labels/family.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use metered::{Counter, Family, MetricTree};
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `metered_om`
[INFO] [stdout]   --> src/labels/family.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use metered_om::OpenMetricsEncoder;
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `metered_om`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 15 - use metered_om::OpenMetricsEncoder;
[INFO] [stdout] 15 + use metered_core::OpenMetricsEncoder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/instruments/primitives/gauge.rs - instruments::primitives::gauge::Gauge (line 39) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]   --> src/instruments/primitives/gauge.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use metered::{Counter, Gauge};
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/registry/view.rs - registry::view::MetricsView (line 23) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]   --> src/registry/view.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use metered::entry::counter;
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]   --> src/registry/view.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use metered::{MetricsView, MetricTreeView};
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/registry/view.rs - registry::view::MetricTreeView<'a,C>::family_view (line 182) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]    --> src/registry/view.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | use metered::{LabelSet, MetricTreeView, MetricsView};
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/registry/view.rs:195:20
[INFO] [stdout]     |
[INFO] [stdout] 195 |         v.register(metered::entry::counter("sent").select(|r: &Rail| &r.sent));
[INFO] [stdout]     |                    ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/shape.rs - model::shape (line 19) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]   --> src/model/shape.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use metered::shape::{Flatten, Renamed};
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]   --> src/model/shape.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use metered::{Counter, MetricTree};
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `metered_om`
[INFO] [stdout]   --> src/model/shape.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use metered_om::OpenMetricsEncoder;
[INFO] [stdout]    |     ^^^^^^^^^^ use of unresolved module or unlinked crate `metered_om`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 22 - use metered_om::OpenMetricsEncoder;
[INFO] [stdout] 22 + use metered_core::OpenMetricsEncoder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `incr` found for struct `Atomic<T>` in the current scope
[INFO] [stdout]   --> src/model/shape.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | hits.incr();
[INFO] [stdout]    |      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `incr_by` with a similar name, but with different arguments
[INFO] [stdout]   --> src/instruments/primitives/counter.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn incr_by(&self, n: u64);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following traits which provide `incr` are implemented but not in scope; perhaps you want to import one of them
[INFO] [stdout]    |
[INFO] [stdout] 19 + use metered_core::Counter;
[INFO] [stdout]    |
[INFO] [stdout] 19 + use metered_core::Gauge;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/labels/family.rs - labels::family::Family (line 121) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]    --> src/labels/family.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | use metered::{Counter, Family, Gauge, LabelSet, MetricTree};
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `metric` in this scope
[INFO] [stdout]    --> src/labels/family.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 |     #[metric(counter)]
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `metric` is an attribute that can be used by the derive macro `MetricTree`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `metric` in this scope
[INFO] [stdout]    --> src/labels/family.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 134 |     #[metric]
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `metric` is an attribute that can be used by the derive macro `MetricTree`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/model/metric_tree.rs - model::metric_tree::MetricTreeExt (line 361) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]    --> src/model/metric_tree.rs:362:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | use metered::{Counter, MetricTree};
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `metered_om`
[INFO] [stdout]    --> src/model/metric_tree.rs:363:5
[INFO] [stdout]     |
[INFO] [stdout] 363 | use metered_om::OpenMetricsExt;
[INFO] [stdout]     |     ^^^^^^^^^^ use of unresolved module or unlinked crate `metered_om`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 363 - use metered_om::OpenMetricsExt;
[INFO] [stdout] 363 + use metered_core::OpenMetricsExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `metrics` in this scope
[INFO] [stdout]    --> src/model/metric_tree.rs:367:3
[INFO] [stdout]     |
[INFO] [stdout] 367 | #[metrics(prefix = "app", label(service = "app"))]
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `metrics` is an attribute that can be used by the derive macros `LabelSet` and `MetricTree`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `metrics` in this scope
[INFO] [stdout]    --> src/model/metric_tree.rs:369:7
[INFO] [stdout]     |
[INFO] [stdout] 369 |     #[metrics(counter)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `metrics` is an attribute that can be used by the derive macros `LabelSet` and `MetricTree`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `incr` found for struct `Atomic<T>` in the current scope
[INFO] [stdout]    --> src/model/metric_tree.rs:374:18
[INFO] [stdout]     |
[INFO] [stdout] 374 | metrics.requests.incr();
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `incr_by` with a similar name, but with different arguments
[INFO] [stdout]    --> src/instruments/primitives/counter.rs:45:5
[INFO] [stdout]     |
[INFO] [stdout]  45 |     fn incr_by(&self, n: u64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following traits which provide `incr` are implemented but not in scope; perhaps you want to import one of them
[INFO] [stdout]     |
[INFO] [stdout] 361 + use metered_core::Counter;
[INFO] [stdout]     |
[INFO] [stdout] 361 + use metered_core::Gauge;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `encode_to_string` found for struct `AppMetrics` in the current scope
[INFO] [stdout]    --> src/model/metric_tree.rs:375:20
[INFO] [stdout]     |
[INFO] [stdout] 368 | struct AppMetrics {
[INFO] [stdout]     | ----------------- method `encode_to_string` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 375 | let text = metrics.encode_to_string().unwrap();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ method not found in `AppMetrics`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/registry/view.rs - registry::view::MetricTreeView<'a,C>::family_by (line 239) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `metered`
[INFO] [stdout]    --> src/registry/view.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 | use metered::{MetricTreeView, MetricsView};
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `metered` in this scope
[INFO] [stdout]    --> src/registry/view.rs:247:20
[INFO] [stdout]     |
[INFO] [stdout] 247 |         v.register(metered::entry::counter("sent").select(|r: &Rail| &r.sent));
[INFO] [stdout]     |                    ^^^^^^^ use of unresolved module or unlinked crate `metered`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `metered`, use `cargo add metered` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/adapter.rs - adapter (line 11)
[INFO] [stdout]     src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::custom (line 72)
[INFO] [stdout]     src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::custom_duration (line 229)
[INFO] [stdout]     src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential (line 165)
[INFO] [stdout]     src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential_duration (line 260)
[INFO] [stdout]     src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::exponential_range_duration (line 276)
[INFO] [stdout]     src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::linear (line 145)
[INFO] [stdout]     src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::linear_duration (line 246)
[INFO] [stdout]     src/instruments/bucket_histogram.rs - instruments::bucket_histogram::Buckets::relative (line 206)
[INFO] [stdout]     src/instruments/primitives/counter.rs - instruments::primitives::counter::Counter (line 28)
[INFO] [stdout]     src/instruments/primitives/gauge.rs - instruments::primitives::gauge::Gauge (line 39)
[INFO] [stdout]     src/labels/family.rs - labels::family (line 13)
[INFO] [stdout]     src/labels/family.rs - labels::family::Family (line 121)
[INFO] [stdout]     src/labels/family.rs - labels::family::Family<L,M,C>::new_with_constructor (line 184)
[INFO] [stdout]     src/labels/family.rs - labels::family::Family<L,M>::new_with_constructor_fn (line 347)
[INFO] [stdout]     src/model/metric_tree.rs - model::metric_tree::MetricTreeExt (line 361)
[INFO] [stdout]     src/model/shape.rs - model::shape (line 19)
[INFO] [stdout]     src/registry/view.rs - registry::view::MetricTreeView<'a,C>::family_by (line 239)
[INFO] [stdout]     src/registry/view.rs - registry::view::MetricTreeView<'a,C>::family_view (line 182)
[INFO] [stdout]     src/registry/view.rs - registry::view::MetricsView (line 23)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 20 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.65s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.84s; merged doctests compilation took 0.19s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c", kill_on_drop: false }`
[INFO] [stdout] 7f0dc5035ad7b6f56d2032d01875e161465c08eb99556d9ea89c3a980edf3d6c
