[INFO] fetching crate froggy 0.4.2...
[INFO] checking froggy-0.4.2 against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] extracting crate froggy 0.4.2 into /workspace/builds/worker-2-tc2/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-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate froggy 0.4.2 on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b2d7bae08043548c82cb38a37cb768ecc717b32960771f3540a2a880218de1c3
[INFO] running `Command { std: "docker" "start" "-a" "b2d7bae08043548c82cb38a37cb768ecc717b32960771f3540a2a880218de1c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b2d7bae08043548c82cb38a37cb768ecc717b32960771f3540a2a880218de1c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2d7bae08043548c82cb38a37cb768ecc717b32960771f3540a2a880218de1c3", kill_on_drop: false }`
[INFO] [stdout] b2d7bae08043548c82cb38a37cb768ecc717b32960771f3540a2a880218de1c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 16cc65ca8b83c31807499525e02559d09c88761d1c431569c375e737b5a61921
[INFO] running `Command { std: "docker" "start" "-a" "16cc65ca8b83c31807499525e02559d09c88761d1c431569c375e737b5a61921", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking spin v0.4.10
[INFO] [stderr]     Checking 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] [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: variable does not need to be mutable
[INFO] [stdout]   --> benches/sc_graph_aligned.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let mut p = &mut world.pos[&vel.writes];
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/ecs_pos_vel_aligned.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 let mut p = &mut world.pos[&e.pos];
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/sc_graph_spread.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let mut p = &mut world.pos[&vel.writes];
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[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] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/ecs_pos_vel_spread.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 let mut p = &mut world.pos[&e.pos];
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.79s
[INFO] running `Command { std: "docker" "inspect" "16cc65ca8b83c31807499525e02559d09c88761d1c431569c375e737b5a61921", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16cc65ca8b83c31807499525e02559d09c88761d1c431569c375e737b5a61921", kill_on_drop: false }`
[INFO] [stdout] 16cc65ca8b83c31807499525e02559d09c88761d1c431569c375e737b5a61921
