[INFO] fetching crate froggy 0.4.2...
[INFO] testing froggy-0.4.2 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate froggy 0.4.2 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate froggy 0.4.2
[INFO] finished tweaking crates.io crate froggy 0.4.2
[INFO] tweaked toml for crates.io crate froggy 0.4.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate froggy 0.4.2 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 1 package to latest compatible version
[INFO] [stderr]       Adding spin v0.4.10 (available: v0.10.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded spin v0.4.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9a4212384bf295b543935479aebef8a9b846bac30b1e8cef64d357c529c739bc
[INFO] running `Command { std: "docker" "start" "-a" "9a4212384bf295b543935479aebef8a9b846bac30b1e8cef64d357c529c739bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a4212384bf295b543935479aebef8a9b846bac30b1e8cef64d357c529c739bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a4212384bf295b543935479aebef8a9b846bac30b1e8cef64d357c529c739bc", kill_on_drop: false }`
[INFO] [stdout] 9a4212384bf295b543935479aebef8a9b846bac30b1e8cef64d357c529c739bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 52da677c633e3a1c24029bff754eb5c6c1d158c7a623cdeba9541baff700eb2e
[INFO] running `Command { std: "docker" "start" "-a" "52da677c633e3a1c24029bff754eb5c6c1d158c7a623cdeba9541baff700eb2e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling spin v0.4.10
[INFO] [stderr]    Compiling froggy v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/lib.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/lib.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 | static STORAGE_UID: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 54 - static STORAGE_UID: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout] 54 + static STORAGE_UID: AtomicUsize = AtomicUsize::new(0);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `epoch`, `storage_id`, and `pending` are never read
[INFO] [stdout]    --> src/lib.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         pub struct Pointer<'a> {
[INFO] [stdout]     |                    ------- fields in this struct
[INFO] [stdout] 164 |             /// All integer entries are `usize` for future-proofing.
[INFO] [stdout] 165 |             index: usize,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 166 |             epoch: usize,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 167 |             storage_id: usize,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 168 |             pending: &'a Pending,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Pointer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn split(&mut self, offset: PointerData) -> (Slice<T>, &mut T, Slice<T>) {
[INFO] [stdout]    |              ^^^^^^^^^                           ^^^^^^^^  ^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |                                   |         |
[INFO] [stdout]    |              |                                   |         the same lifetime is elided here
[INFO] [stdout]    |              |                                   the same lifetime is hidden here
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn split(&mut self, offset: PointerData) -> (Slice<'_, T>, &mut T, Slice<'_, T>) {
[INFO] [stdout]    |                                                        +++                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn drain_sub(&mut self) -> (Drain<Index>, &mut [Epoch]) {
[INFO] [stdout]     |                  ^^^^^^^^^      ^^^^^^^^^^^^  ^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                  |              |
[INFO] [stdout]     |                  |              the same lifetime is hidden here
[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] 100 |     fn drain_sub(&mut self) -> (Drain<'_, Index>, &mut [Epoch]) {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:356:17
[INFO] [stdout]     |
[INFO] [stdout] 356 |     pub fn iter(&self) -> Iter<T> {
[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] 356 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn iter_all(&self) -> Iter<T> {
[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] 367 |     pub fn iter_all(&self) -> Iter<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[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] 381 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn iter_all_mut(&mut self) -> slice::IterMut<T> {
[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] 391 |     pub fn iter_all_mut(&mut self) -> slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:414:18
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub fn split(&mut self, pointer: &Pointer<T>) -> (Slice<T>, &mut T, Slice<T>) {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^^^^  ^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |                                    |         |
[INFO] [stdout]     |                  |                                    |         the same lifetime is elided here
[INFO] [stdout]     |                  |                                    the same lifetime is hidden here
[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] 414 |     pub fn split(&mut self, pointer: &Pointer<T>) -> (Slice<'_, T>, &mut T, Slice<'_, T>) {
[INFO] [stdout]     |                                                             +++                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:425:19
[INFO] [stdout]     |
[INFO] [stdout] 425 |     pub fn cursor(&mut self) -> Cursor<T> {
[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] 425 |     pub fn cursor(&mut self) -> Cursor<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:436:23
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn cursor_end(&mut self) -> Cursor<T> {
[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] 436 |     pub fn cursor_end(&mut self) -> Cursor<'_, T> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:117:14
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn split(&mut self, index: usize) -> (Slice<T>, CursorItem<T>, Slice<T>) {
[INFO] [stdout]     |              ^^^^^^^^^                    ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |                            |         |
[INFO] [stdout]     |              |                            |         the same lifetime is hidden here
[INFO] [stdout]     |              |                            the same lifetime is hidden here
[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] 117 |     fn split(&mut self, index: usize) -> (Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>) {
[INFO] [stdout]     |                                                 +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn next(&mut self) -> Option<(Slice<T>, CursorItem<T>, Slice<T>)> {
[INFO] [stdout]     |                 ^^^^^^^^^             ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |         |
[INFO] [stdout]     |                 |                     |         the same lifetime is hidden here
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[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] 128 |     pub fn next(&mut self) -> Option<(Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>)> {
[INFO] [stdout]     |                                             +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn prev(&mut self) -> Option<(Slice<T>, CursorItem<T>, Slice<T>)> {
[INFO] [stdout]     |                 ^^^^^^^^^             ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |         |
[INFO] [stdout]     |                 |                     |         the same lifetime is hidden here
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[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] 144 |     pub fn prev(&mut self) -> Option<(Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>)> {
[INFO] [stdout]     |                                             +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] running `Command { std: "docker" "inspect" "52da677c633e3a1c24029bff754eb5c6c1d158c7a623cdeba9541baff700eb2e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52da677c633e3a1c24029bff754eb5c6c1d158c7a623cdeba9541baff700eb2e", kill_on_drop: false }`
[INFO] [stdout] 52da677c633e3a1c24029bff754eb5c6c1d158c7a623cdeba9541baff700eb2e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9dd6cd1c3ecffb20f6b66e122a85fc399b0edecbe07585a26941e68d300a0691
[INFO] running `Command { std: "docker" "start" "-a" "9dd6cd1c3ecffb20f6b66e122a85fc399b0edecbe07585a26941e68d300a0691", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/lib.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/lib.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 | static STORAGE_UID: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 54 - static STORAGE_UID: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout] 54 + static STORAGE_UID: AtomicUsize = AtomicUsize::new(0);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `epoch`, `storage_id`, and `pending` are never read
[INFO] [stdout]    --> src/lib.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         pub struct Pointer<'a> {
[INFO] [stdout]     |                    ------- fields in this struct
[INFO] [stdout] 164 |             /// All integer entries are `usize` for future-proofing.
[INFO] [stdout] 165 |             index: usize,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 166 |             epoch: usize,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 167 |             storage_id: usize,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 168 |             pending: &'a Pending,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Pointer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn split(&mut self, offset: PointerData) -> (Slice<T>, &mut T, Slice<T>) {
[INFO] [stdout]    |              ^^^^^^^^^                           ^^^^^^^^  ^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |                                   |         |
[INFO] [stdout]    |              |                                   |         the same lifetime is elided here
[INFO] [stdout]    |              |                                   the same lifetime is hidden here
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn split(&mut self, offset: PointerData) -> (Slice<'_, T>, &mut T, Slice<'_, T>) {
[INFO] [stdout]    |                                                        +++                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn drain_sub(&mut self) -> (Drain<Index>, &mut [Epoch]) {
[INFO] [stdout]     |                  ^^^^^^^^^      ^^^^^^^^^^^^  ^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                  |              |
[INFO] [stdout]     |                  |              the same lifetime is hidden here
[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] 100 |     fn drain_sub(&mut self) -> (Drain<'_, Index>, &mut [Epoch]) {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:356:17
[INFO] [stdout]     |
[INFO] [stdout] 356 |     pub fn iter(&self) -> Iter<T> {
[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] 356 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn iter_all(&self) -> Iter<T> {
[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] 367 |     pub fn iter_all(&self) -> Iter<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[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] 381 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn iter_all_mut(&mut self) -> slice::IterMut<T> {
[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] 391 |     pub fn iter_all_mut(&mut self) -> slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:414:18
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub fn split(&mut self, pointer: &Pointer<T>) -> (Slice<T>, &mut T, Slice<T>) {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^^^^  ^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |                                    |         |
[INFO] [stdout]     |                  |                                    |         the same lifetime is elided here
[INFO] [stdout]     |                  |                                    the same lifetime is hidden here
[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] 414 |     pub fn split(&mut self, pointer: &Pointer<T>) -> (Slice<'_, T>, &mut T, Slice<'_, T>) {
[INFO] [stdout]     |                                                             +++                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:425:19
[INFO] [stdout]     |
[INFO] [stdout] 425 |     pub fn cursor(&mut self) -> Cursor<T> {
[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] 425 |     pub fn cursor(&mut self) -> Cursor<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:436:23
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn cursor_end(&mut self) -> Cursor<T> {
[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] 436 |     pub fn cursor_end(&mut self) -> Cursor<'_, T> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:117:14
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn split(&mut self, index: usize) -> (Slice<T>, CursorItem<T>, Slice<T>) {
[INFO] [stdout]     |              ^^^^^^^^^                    ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |                            |         |
[INFO] [stdout]     |              |                            |         the same lifetime is hidden here
[INFO] [stdout]     |              |                            the same lifetime is hidden here
[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] 117 |     fn split(&mut self, index: usize) -> (Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>) {
[INFO] [stdout]     |                                                 +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn next(&mut self) -> Option<(Slice<T>, CursorItem<T>, Slice<T>)> {
[INFO] [stdout]     |                 ^^^^^^^^^             ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |         |
[INFO] [stdout]     |                 |                     |         the same lifetime is hidden here
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[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] 128 |     pub fn next(&mut self) -> Option<(Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>)> {
[INFO] [stdout]     |                                             +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn prev(&mut self) -> Option<(Slice<T>, CursorItem<T>, Slice<T>)> {
[INFO] [stdout]     |                 ^^^^^^^^^             ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |         |
[INFO] [stdout]     |                 |                     |         the same lifetime is hidden here
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[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] 144 |     pub fn prev(&mut self) -> Option<(Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>)> {
[INFO] [stdout]     |                                             +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling froggy v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/lib.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/lib.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 | static STORAGE_UID: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 54 - static STORAGE_UID: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stdout] 54 + static STORAGE_UID: AtomicUsize = AtomicUsize::new(0);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `epoch`, `storage_id`, and `pending` are never read
[INFO] [stdout]    --> src/lib.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         pub struct Pointer<'a> {
[INFO] [stdout]     |                    ------- fields in this struct
[INFO] [stdout] 164 |             /// All integer entries are `usize` for future-proofing.
[INFO] [stdout] 165 |             index: usize,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 166 |             epoch: usize,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 167 |             storage_id: usize,
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 168 |             pending: &'a Pending,
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Pointer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn split(&mut self, offset: PointerData) -> (Slice<T>, &mut T, Slice<T>) {
[INFO] [stdout]    |              ^^^^^^^^^                           ^^^^^^^^  ^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |                                   |         |
[INFO] [stdout]    |              |                                   |         the same lifetime is elided here
[INFO] [stdout]    |              |                                   the same lifetime is hidden here
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn split(&mut self, offset: PointerData) -> (Slice<'_, T>, &mut T, Slice<'_, T>) {
[INFO] [stdout]    |                                                        +++                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn drain_sub(&mut self) -> (Drain<Index>, &mut [Epoch]) {
[INFO] [stdout]     |                  ^^^^^^^^^      ^^^^^^^^^^^^  ^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                  |              |
[INFO] [stdout]     |                  |              the same lifetime is hidden here
[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] 100 |     fn drain_sub(&mut self) -> (Drain<'_, Index>, &mut [Epoch]) {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:356:17
[INFO] [stdout]     |
[INFO] [stdout] 356 |     pub fn iter(&self) -> Iter<T> {
[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] 356 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn iter_all(&self) -> Iter<T> {
[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] 367 |     pub fn iter_all(&self) -> Iter<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[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] 381 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn iter_all_mut(&mut self) -> slice::IterMut<T> {
[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] 391 |     pub fn iter_all_mut(&mut self) -> slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:414:18
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub fn split(&mut self, pointer: &Pointer<T>) -> (Slice<T>, &mut T, Slice<T>) {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^^^^  ^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |                                    |         |
[INFO] [stdout]     |                  |                                    |         the same lifetime is elided here
[INFO] [stdout]     |                  |                                    the same lifetime is hidden here
[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] 414 |     pub fn split(&mut self, pointer: &Pointer<T>) -> (Slice<'_, T>, &mut T, Slice<'_, T>) {
[INFO] [stdout]     |                                                             +++                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:425:19
[INFO] [stdout]     |
[INFO] [stdout] 425 |     pub fn cursor(&mut self) -> Cursor<T> {
[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] 425 |     pub fn cursor(&mut self) -> Cursor<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:436:23
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn cursor_end(&mut self) -> Cursor<T> {
[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] 436 |     pub fn cursor_end(&mut self) -> Cursor<'_, T> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:117:14
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn split(&mut self, index: usize) -> (Slice<T>, CursorItem<T>, Slice<T>) {
[INFO] [stdout]     |              ^^^^^^^^^                    ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |                            |         |
[INFO] [stdout]     |              |                            |         the same lifetime is hidden here
[INFO] [stdout]     |              |                            the same lifetime is hidden here
[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] 117 |     fn split(&mut self, index: usize) -> (Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>) {
[INFO] [stdout]     |                                                 +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn next(&mut self) -> Option<(Slice<T>, CursorItem<T>, Slice<T>)> {
[INFO] [stdout]     |                 ^^^^^^^^^             ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |         |
[INFO] [stdout]     |                 |                     |         the same lifetime is hidden here
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[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] 128 |     pub fn next(&mut self) -> Option<(Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>)> {
[INFO] [stdout]     |                                             +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cursor.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn prev(&mut self) -> Option<(Slice<T>, CursorItem<T>, Slice<T>)> {
[INFO] [stdout]     |                 ^^^^^^^^^             ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |         |
[INFO] [stdout]     |                 |                     |         the same lifetime is hidden here
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[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] 144 |     pub fn prev(&mut self) -> Option<(Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>)> {
[INFO] [stdout]     |                                             +++                +++           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.00s
[INFO] running `Command { std: "docker" "inspect" "9dd6cd1c3ecffb20f6b66e122a85fc399b0edecbe07585a26941e68d300a0691", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9dd6cd1c3ecffb20f6b66e122a85fc399b0edecbe07585a26941e68d300a0691", kill_on_drop: false }`
[INFO] [stdout] 9dd6cd1c3ecffb20f6b66e122a85fc399b0edecbe07585a26941e68d300a0691
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 370f4edbba5246f940688653da556e8920bbfd40b8942d1ecc16ca7126637638
[INFO] running `Command { std: "docker" "start" "-a" "370f4edbba5246f940688653da556e8920bbfd40b8942d1ecc16ca7126637638", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/lib.rs:35:48
[INFO] [stderr]    |
[INFO] [stderr] 35 | use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/lib.rs:54:35
[INFO] [stderr]    |
[INFO] [stderr] 54 | static STORAGE_UID: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated constant
[INFO] [stderr]    |
[INFO] [stderr] 54 - static STORAGE_UID: AtomicUsize = ATOMIC_USIZE_INIT;
[INFO] [stderr] 54 + static STORAGE_UID: AtomicUsize = AtomicUsize::new(0);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `index`, `epoch`, `storage_id`, and `pending` are never read
[INFO] [stderr]    --> src/lib.rs:165:13
[INFO] [stderr]     |
[INFO] [stderr] 163 |         pub struct Pointer<'a> {
[INFO] [stderr]     |                    ------- fields in this struct
[INFO] [stderr] 164 |             /// All integer entries are `usize` for future-proofing.
[INFO] [stderr] 165 |             index: usize,
[INFO] [stderr]     |             ^^^^^
[INFO] [stderr] 166 |             epoch: usize,
[INFO] [stderr]     |             ^^^^^
[INFO] [stderr] 167 |             storage_id: usize,
[INFO] [stderr]     |             ^^^^^^^^^^
[INFO] [stderr] 168 |             pending: &'a Pending,
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Pointer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:77:14
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn split(&mut self, offset: PointerData) -> (Slice<T>, &mut T, Slice<T>) {
[INFO] [stderr]    |              ^^^^^^^^^                           ^^^^^^^^  ^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |              |                                   |         |
[INFO] [stderr]    |              |                                   |         the same lifetime is elided here
[INFO] [stderr]    |              |                                   the same lifetime is hidden here
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn split(&mut self, offset: PointerData) -> (Slice<'_, T>, &mut T, Slice<'_, T>) {
[INFO] [stderr]    |                                                        +++                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:100:18
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn drain_sub(&mut self) -> (Drain<Index>, &mut [Epoch]) {
[INFO] [stderr]     |                  ^^^^^^^^^      ^^^^^^^^^^^^  ^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stderr]     |                  |              |
[INFO] [stderr]     |                  |              the same lifetime is hidden here
[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] 100 |     fn drain_sub(&mut self) -> (Drain<'_, Index>, &mut [Epoch]) {
[INFO] [stderr]     |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:356:17
[INFO] [stderr]     |
[INFO] [stderr] 356 |     pub fn iter(&self) -> Iter<T> {
[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] 356 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:367:21
[INFO] [stderr]     |
[INFO] [stderr] 367 |     pub fn iter_all(&self) -> Iter<T> {
[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] 367 |     pub fn iter_all(&self) -> Iter<'_, T> {
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:381:21
[INFO] [stderr]     |
[INFO] [stderr] 381 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[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] 381 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:391:25
[INFO] [stderr]     |
[INFO] [stderr] 391 |     pub fn iter_all_mut(&mut self) -> slice::IterMut<T> {
[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] 391 |     pub fn iter_all_mut(&mut self) -> slice::IterMut<'_, T> {
[INFO] [stderr]     |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:414:18
[INFO] [stderr]     |
[INFO] [stderr] 414 |     pub fn split(&mut self, pointer: &Pointer<T>) -> (Slice<T>, &mut T, Slice<T>) {
[INFO] [stderr]     |                  ^^^^^^^^^                            ^^^^^^^^  ^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |                                    |         |
[INFO] [stderr]     |                  |                                    |         the same lifetime is elided here
[INFO] [stderr]     |                  |                                    the same lifetime is hidden here
[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] 414 |     pub fn split(&mut self, pointer: &Pointer<T>) -> (Slice<'_, T>, &mut T, Slice<'_, T>) {
[INFO] [stderr]     |                                                             +++                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:425:19
[INFO] [stderr]     |
[INFO] [stderr] 425 |     pub fn cursor(&mut self) -> Cursor<T> {
[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] 425 |     pub fn cursor(&mut self) -> Cursor<'_, T> {
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:436:23
[INFO] [stderr]     |
[INFO] [stderr] 436 |     pub fn cursor_end(&mut self) -> Cursor<T> {
[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] 436 |     pub fn cursor_end(&mut self) -> Cursor<'_, T> {
[INFO] [stderr]     |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cursor.rs:117:14
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn split(&mut self, index: usize) -> (Slice<T>, CursorItem<T>, Slice<T>) {
[INFO] [stderr]     |              ^^^^^^^^^                    ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |              |                            |         |
[INFO] [stderr]     |              |                            |         the same lifetime is hidden here
[INFO] [stderr]     |              |                            the same lifetime is hidden here
[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] 117 |     fn split(&mut self, index: usize) -> (Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>) {
[INFO] [stderr]     |                                                 +++                +++           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cursor.rs:128:17
[INFO] [stderr]     |
[INFO] [stderr] 128 |     pub fn next(&mut self) -> Option<(Slice<T>, CursorItem<T>, Slice<T>)> {
[INFO] [stderr]     |                 ^^^^^^^^^             ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |                     |         |
[INFO] [stderr]     |                 |                     |         the same lifetime is hidden here
[INFO] [stderr]     |                 |                     the same lifetime is hidden here
[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] 128 |     pub fn next(&mut self) -> Option<(Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>)> {
[INFO] [stderr]     |                                             +++                +++           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cursor.rs:144:17
[INFO] [stderr]     |
[INFO] [stderr] 144 |     pub fn prev(&mut self) -> Option<(Slice<T>, CursorItem<T>, Slice<T>)> {
[INFO] [stderr]     |                 ^^^^^^^^^             ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |                     |         |
[INFO] [stderr]     |                 |                     |         the same lifetime is hidden here
[INFO] [stderr]     |                 |                     the same lifetime is hidden here
[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] 144 |     pub fn prev(&mut self) -> Option<(Slice<'_, T>, CursorItem<'_, T>, Slice<'_, T>)> {
[INFO] [stderr]     |                                             +++                +++           +++
[INFO] [stderr] 
[INFO] [stderr] warning: `froggy` (lib) generated 15 warnings (run `cargo fix --lib -p froggy` to apply 13 suggestions)
[INFO] [stderr] warning: `froggy` (lib test) generated 15 warnings (15 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/froggy-4fe0b12e93f78e2f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/tests.rs (/opt/rustwide/target/debug/deps/tests-381e1afcda6e6dd7)
[INFO] [stdout] test bitfield::tests::new ... ok
[INFO] [stdout] test bitfield::tests::sizes ... 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 15 tests
[INFO] [stdout] test iter_zombies ... ok
[INFO] [stdout] test storage_default ... ok
[INFO] [stdout] test pointer_eq ... ok
[INFO] [stdout] test slice ... ok
[INFO] [stdout] test test_hash ... ok
[INFO] [stdout] test iterating ... ok
[INFO] [stdout] test partial_ord ... ok
[INFO] [stdout] test test_sync ... ok
[INFO] [stdout] test weak_epoch ... ok
[INFO] [stdout] test weak_pointer_eq ... ok
[INFO] [stdout] test weak_upgrade_downgrade ... ok
[INFO] [stdout] test change_by_pointer ... ok
[INFO] [stderr]    Doc-tests froggy
[INFO] [stdout] test sizes ... ok
[INFO] [stdout] test test_send ... ok
[INFO] [stdout] test cursor ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/cursor.rs - cursor::CursorItem (line 39) ... ok
[INFO] [stdout] test src/lib.rs - Storage (line 117) ... ok
[INFO] [stdout] test src/weak.rs - weak::WeakPointer (line 8) ... ok
[INFO] [stdout] test src/cursor.rs - cursor::CursorItem (line 50) ... ok
[INFO] [stdout] test src/weak.rs - weak::WeakPointer (line 31) ... ok
[INFO] [stdout] test src/lib.rs - Pointer (line 136) ... ok
[INFO] [stdout] test src/lib.rs - Pointer (line 145) ... ok
[INFO] [stdout] test src/weak.rs - weak::WeakPointer (line 22) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.09s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "370f4edbba5246f940688653da556e8920bbfd40b8942d1ecc16ca7126637638", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "370f4edbba5246f940688653da556e8920bbfd40b8942d1ecc16ca7126637638", kill_on_drop: false }`
[INFO] [stdout] 370f4edbba5246f940688653da556e8920bbfd40b8942d1ecc16ca7126637638
