[INFO] fetching crate spacebattleship 0.1.0...
[INFO] testing spacebattleship-0.1.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate spacebattleship 0.1.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate spacebattleship 0.1.0
[INFO] finished tweaking crates.io crate spacebattleship 0.1.0
[INFO] tweaked toml for crates.io crate spacebattleship 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate spacebattleship 0.1.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "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" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 21 packages to latest compatible versions
[INFO] [stderr]       Adding enumflags2 v0.6.4 (available: v0.7.12)
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.10.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3bac273851cfba162aa55b31395a939937b34bc6f2c297845cb945cb8a50c0cb
[INFO] running `Command { std: "docker" "start" "-a" "3bac273851cfba162aa55b31395a939937b34bc6f2c297845cb945cb8a50c0cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3bac273851cfba162aa55b31395a939937b34bc6f2c297845cb945cb8a50c0cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3bac273851cfba162aa55b31395a939937b34bc6f2c297845cb945cb8a50c0cb", kill_on_drop: false }`
[INFO] [stdout] 3bac273851cfba162aa55b31395a939937b34bc6f2c297845cb945cb8a50c0cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23654fcd81c5da14fd73554340e25ca352dee0dec3edb6e7cc3282dfdd719748
[INFO] running `Command { std: "docker" "start" "-a" "23654fcd81c5da14fd73554340e25ca352dee0dec3edb6e7cc3282dfdd719748", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling enumflags2_derive v0.6.4
[INFO] [stderr]    Compiling enumflags2 v0.6.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling spacebattleship v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:174:23
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipRef<I, D>> {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipRef<'_, I, D>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_ship<Q: ?Sized>(&self, ship: &Q) -> Option<ShipRef<I, D>>
[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] 182 |     pub fn get_ship<Q: ?Sized>(&self, ship: &Q) -> Option<ShipRef<'_, I, D>>
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:196:22
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn get_coord(&self, coord: D::Coordinate) -> Option<CellRef<I, D>> {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn get_coord(&self, coord: D::Coordinate) -> Option<CellRef<'_, I, D>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/board/dimensions.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn neighbors(&self, coord: Self::Coordinate) -> NeighborIter<Self::NeighborIterState> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn neighbors(&self, coord: Self::Coordinate) -> NeighborIter<'_, Self::NeighborIterState> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout]  77 |                 &self,
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here
[INFO] [stdout]  78 |                 coord: D::Coordinate,
[INFO] [stdout]  79 |             ) -> ProjectIter<D, S::ProjectIterState> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 113 | ship_entry_shared!(ShipEntry);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ship_entry_shared` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  79 |             ) -> ProjectIter<'_, D, S::ProjectIterState> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout]  77 |                 &self,
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here
[INFO] [stdout]  78 |                 coord: D::Coordinate,
[INFO] [stdout]  79 |             ) -> ProjectIter<D, S::ProjectIterState> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 114 | ship_entry_shared!(ShipEntryMut);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ship_entry_shared` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  79 |             ) -> ProjectIter<'_, D, S::ProjectIterState> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:245:23
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipEntry<I, D, S>> {
[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] 245 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipEntry<'_, I, D, S>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 261 |     ) -> Result<ShipEntryMut<I, D, S>, AddShipError<I, S>> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     ) -> Result<ShipEntryMut<'_, I, D, S>, AddShipError<I, S>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn get_ship(&self, id: I) -> Option<ShipEntry<I, D, S>> {
[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] 279 |     pub fn get_ship(&self, id: I) -> Option<ShipEntry<'_, I, D, S>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn get_ship_mut(&mut self, id: I) -> Option<ShipEntryMut<I, D, S>> {
[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] 287 |     pub fn get_ship_mut(&mut self, id: I) -> Option<ShipEntryMut<'_, I, D, S>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/simple.rs:407:22
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn get_coord(&self, player: Player, coord: Coordinate) -> Option<CellRef> {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here                   ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn get_coord(&self, player: Player, coord: Coordinate) -> Option<CellRef<'_>> {
[INFO] [stdout]     |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/simple.rs:412:21
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_ship(&self, player: Player, ship: Ship) -> ShipRef {
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_ship(&self, player: Player, ship: Ship) -> ShipRef<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/ships.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |         &'a self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 41 |         coord: D::Coordinate,
[INFO] [stdout] 42 |         dim: &'a D,
[INFO] [stdout]    |               -- the lifetime is named here
[INFO] [stdout] 43 |     ) -> ProjectIter<D, Self::ProjectIterState> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     ) -> ProjectIter<'a, D, Self::ProjectIterState> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.81s
[INFO] running `Command { std: "docker" "inspect" "23654fcd81c5da14fd73554340e25ca352dee0dec3edb6e7cc3282dfdd719748", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23654fcd81c5da14fd73554340e25ca352dee0dec3edb6e7cc3282dfdd719748", kill_on_drop: false }`
[INFO] [stdout] 23654fcd81c5da14fd73554340e25ca352dee0dec3edb6e7cc3282dfdd719748
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5e9f8ef962dc00d048de5a46b4837794459ce6e333a35c62bbaa5318edf5a4c2
[INFO] running `Command { std: "docker" "start" "-a" "5e9f8ef962dc00d048de5a46b4837794459ce6e333a35c62bbaa5318edf5a4c2", kill_on_drop: false }`
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:174:23
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipRef<I, D>> {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipRef<'_, I, D>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_ship<Q: ?Sized>(&self, ship: &Q) -> Option<ShipRef<I, D>>
[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] 182 |     pub fn get_ship<Q: ?Sized>(&self, ship: &Q) -> Option<ShipRef<'_, I, D>>
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:196:22
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn get_coord(&self, coord: D::Coordinate) -> Option<CellRef<I, D>> {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn get_coord(&self, coord: D::Coordinate) -> Option<CellRef<'_, I, D>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/board/dimensions.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn neighbors(&self, coord: Self::Coordinate) -> NeighborIter<Self::NeighborIterState> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn neighbors(&self, coord: Self::Coordinate) -> NeighborIter<'_, Self::NeighborIterState> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout]  77 |                 &self,
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here
[INFO] [stdout]  78 |                 coord: D::Coordinate,
[INFO] [stdout]  79 |             ) -> ProjectIter<D, S::ProjectIterState> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 113 | ship_entry_shared!(ShipEntry);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ship_entry_shared` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  79 |             ) -> ProjectIter<'_, D, S::ProjectIterState> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout]  77 |                 &self,
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here
[INFO] [stdout]  78 |                 coord: D::Coordinate,
[INFO] [stdout]  79 |             ) -> ProjectIter<D, S::ProjectIterState> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 114 | ship_entry_shared!(ShipEntryMut);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ship_entry_shared` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  79 |             ) -> ProjectIter<'_, D, S::ProjectIterState> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:245:23
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipEntry<I, D, S>> {
[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] 245 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipEntry<'_, I, D, S>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 261 |     ) -> Result<ShipEntryMut<I, D, S>, AddShipError<I, S>> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     ) -> Result<ShipEntryMut<'_, I, D, S>, AddShipError<I, S>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn get_ship(&self, id: I) -> Option<ShipEntry<I, D, S>> {
[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] 279 |     pub fn get_ship(&self, id: I) -> Option<ShipEntry<'_, I, D, S>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn get_ship_mut(&mut self, id: I) -> Option<ShipEntryMut<I, D, S>> {
[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] 287 |     pub fn get_ship_mut(&mut self, id: I) -> Option<ShipEntryMut<'_, I, D, S>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/simple.rs:407:22
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn get_coord(&self, player: Player, coord: Coordinate) -> Option<CellRef> {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here                   ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn get_coord(&self, player: Player, coord: Coordinate) -> Option<CellRef<'_>> {
[INFO] [stdout]     |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/simple.rs:412:21
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_ship(&self, player: Player, ship: Ship) -> ShipRef {
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_ship(&self, player: Player, ship: Ship) -> ShipRef<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/ships.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |         &'a self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 41 |         coord: D::Coordinate,
[INFO] [stdout] 42 |         dim: &'a D,
[INFO] [stdout]    |               -- the lifetime is named here
[INFO] [stdout] 43 |     ) -> ProjectIter<D, Self::ProjectIterState> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     ) -> ProjectIter<'a, D, Self::ProjectIterState> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling spacebattleship v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:174:23
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipRef<I, D>> {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipRef<'_, I, D>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_ship<Q: ?Sized>(&self, ship: &Q) -> Option<ShipRef<I, D>>
[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] 182 |     pub fn get_ship<Q: ?Sized>(&self, ship: &Q) -> Option<ShipRef<'_, I, D>>
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board.rs:196:22
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn get_coord(&self, coord: D::Coordinate) -> Option<CellRef<I, D>> {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn get_coord(&self, coord: D::Coordinate) -> Option<CellRef<'_, I, D>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/board/dimensions.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn neighbors(&self, coord: Self::Coordinate) -> NeighborIter<Self::NeighborIterState> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn neighbors(&self, coord: Self::Coordinate) -> NeighborIter<'_, Self::NeighborIterState> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout]  77 |                 &self,
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here
[INFO] [stdout]  78 |                 coord: D::Coordinate,
[INFO] [stdout]  79 |             ) -> ProjectIter<D, S::ProjectIterState> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 113 | ship_entry_shared!(ShipEntry);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ship_entry_shared` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  79 |             ) -> ProjectIter<'_, D, S::ProjectIterState> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout]  77 |                 &self,
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here
[INFO] [stdout]  78 |                 coord: D::Coordinate,
[INFO] [stdout]  79 |             ) -> ProjectIter<D, S::ProjectIterState> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 114 | ship_entry_shared!(ShipEntryMut);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ship_entry_shared` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  79 |             ) -> ProjectIter<'_, D, S::ProjectIterState> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:245:23
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipEntry<I, D, S>> {
[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] 245 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipEntry<'_, I, D, S>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 261 |     ) -> Result<ShipEntryMut<I, D, S>, AddShipError<I, S>> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     ) -> Result<ShipEntryMut<'_, I, D, S>, AddShipError<I, S>> {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn get_ship(&self, id: I) -> Option<ShipEntry<I, D, S>> {
[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] 279 |     pub fn get_ship(&self, id: I) -> Option<ShipEntry<'_, I, D, S>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/board/setup.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn get_ship_mut(&mut self, id: I) -> Option<ShipEntryMut<I, D, S>> {
[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] 287 |     pub fn get_ship_mut(&mut self, id: I) -> Option<ShipEntryMut<'_, I, D, S>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/simple.rs:407:22
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn get_coord(&self, player: Player, coord: Coordinate) -> Option<CellRef> {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here                   ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn get_coord(&self, player: Player, coord: Coordinate) -> Option<CellRef<'_>> {
[INFO] [stdout]     |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/simple.rs:412:21
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_ship(&self, player: Player, ship: Ship) -> ShipRef {
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_ship(&self, player: Player, ship: Ship) -> ShipRef<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/ships.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |         &'a self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 41 |         coord: D::Coordinate,
[INFO] [stdout] 42 |         dim: &'a D,
[INFO] [stdout]    |               -- the lifetime is named here
[INFO] [stdout] 43 |     ) -> ProjectIter<D, Self::ProjectIterState> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     ) -> ProjectIter<'a, D, Self::ProjectIterState> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.64s
[INFO] running `Command { std: "docker" "inspect" "5e9f8ef962dc00d048de5a46b4837794459ce6e333a35c62bbaa5318edf5a4c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e9f8ef962dc00d048de5a46b4837794459ce6e333a35c62bbaa5318edf5a4c2", kill_on_drop: false }`
[INFO] [stdout] 5e9f8ef962dc00d048de5a46b4837794459ce6e333a35c62bbaa5318edf5a4c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1845a9b03bfc4b33c505c4848992f309a77fdc5dada3bfb8c8dbd64e88a30da2
[INFO] running `Command { std: "docker" "start" "-a" "1845a9b03bfc4b33c505c4848992f309a77fdc5dada3bfb8c8dbd64e88a30da2", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board.rs:174:23
[INFO] [stderr]     |
[INFO] [stderr] 174 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipRef<I, D>> {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 174 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipRef<'_, I, D>> {
[INFO] [stderr]     |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board.rs:182:32
[INFO] [stderr]     |
[INFO] [stderr] 182 |     pub fn get_ship<Q: ?Sized>(&self, ship: &Q) -> Option<ShipRef<I, D>>
[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] 182 |     pub fn get_ship<Q: ?Sized>(&self, ship: &Q) -> Option<ShipRef<'_, I, D>>
[INFO] [stderr]     |                                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board.rs:196:22
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub fn get_coord(&self, coord: D::Coordinate) -> Option<CellRef<I, D>> {
[INFO] [stderr]     |                      ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub fn get_coord(&self, coord: D::Coordinate) -> Option<CellRef<'_, I, D>> {
[INFO] [stderr]     |                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/board/dimensions.rs:50:18
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn neighbors(&self, coord: Self::Coordinate) -> NeighborIter<Self::NeighborIterState> {
[INFO] [stderr]    |                  ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn neighbors(&self, coord: Self::Coordinate) -> NeighborIter<'_, Self::NeighborIterState> {
[INFO] [stderr]    |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board/setup.rs:77:17
[INFO] [stderr]     |
[INFO] [stderr]  77 |                 &self,
[INFO] [stderr]     |                 ^^^^^ the lifetime is elided here
[INFO] [stderr]  78 |                 coord: D::Coordinate,
[INFO] [stderr]  79 |             ) -> ProjectIter<D, S::ProjectIterState> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr] ...
[INFO] [stderr] 113 | ship_entry_shared!(ShipEntry);
[INFO] [stderr]     | ----------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `ship_entry_shared` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  79 |             ) -> ProjectIter<'_, D, S::ProjectIterState> {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board/setup.rs:77:17
[INFO] [stderr]     |
[INFO] [stderr]  77 |                 &self,
[INFO] [stderr]     |                 ^^^^^ the lifetime is elided here
[INFO] [stderr]  78 |                 coord: D::Coordinate,
[INFO] [stderr]  79 |             ) -> ProjectIter<D, S::ProjectIterState> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr] ...
[INFO] [stderr] 114 | ship_entry_shared!(ShipEntryMut);
[INFO] [stderr]     | -------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `ship_entry_shared` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  79 |             ) -> ProjectIter<'_, D, S::ProjectIterState> {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board/setup.rs:245:23
[INFO] [stderr]     |
[INFO] [stderr] 245 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipEntry<I, D, S>> {
[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] 245 |     pub fn iter_ships(&self) -> impl Iterator<Item = ShipEntry<'_, I, D, S>> {
[INFO] [stderr]     |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board/setup.rs:258:9
[INFO] [stderr]     |
[INFO] [stderr] 258 |         &mut self,
[INFO] [stderr]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 261 |     ) -> Result<ShipEntryMut<I, D, S>, AddShipError<I, S>> {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 261 |     ) -> Result<ShipEntryMut<'_, I, D, S>, AddShipError<I, S>> {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board/setup.rs:279:21
[INFO] [stderr]     |
[INFO] [stderr] 279 |     pub fn get_ship(&self, id: I) -> Option<ShipEntry<I, D, S>> {
[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] 279 |     pub fn get_ship(&self, id: I) -> Option<ShipEntry<'_, I, D, S>> {
[INFO] [stderr]     |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/board/setup.rs:287:25
[INFO] [stderr]     |
[INFO] [stderr] 287 |     pub fn get_ship_mut(&mut self, id: I) -> Option<ShipEntryMut<I, D, S>> {
[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] 287 |     pub fn get_ship_mut(&mut self, id: I) -> Option<ShipEntryMut<'_, I, D, S>> {
[INFO] [stderr]     |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/game/simple.rs:407:22
[INFO] [stderr]     |
[INFO] [stderr] 407 |     pub fn get_coord(&self, player: Player, coord: Coordinate) -> Option<CellRef> {
[INFO] [stderr]     |                      ^^^^^ the lifetime is elided here                   ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 407 |     pub fn get_coord(&self, player: Player, coord: Coordinate) -> Option<CellRef<'_>> {
[INFO] [stderr]     |                                                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/game/simple.rs:412:21
[INFO] [stderr]     |
[INFO] [stderr] 412 |     pub fn get_ship(&self, player: Player, ship: Ship) -> ShipRef {
[INFO] [stderr]     |                     ^^^^^ the lifetime is elided here     ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 412 |     pub fn get_ship(&self, player: Player, ship: Ship) -> ShipRef<'_> {
[INFO] [stderr]     |                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/ships.rs:43:10
[INFO] [stderr]    |
[INFO] [stderr] 40 |         &'a self,
[INFO] [stderr]    |          -- the lifetime is named here
[INFO] [stderr] 41 |         coord: D::Coordinate,
[INFO] [stderr] 42 |         dim: &'a D,
[INFO] [stderr]    |               -- the lifetime is named here
[INFO] [stderr] 43 |     ) -> ProjectIter<D, Self::ProjectIterState> {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 43 |     ) -> ProjectIter<'a, D, Self::ProjectIterState> {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: `spacebattleship` (lib) generated 13 warnings (run `cargo fix --lib -p spacebattleship` to apply 13 suggestions)
[INFO] [stderr] warning: `spacebattleship` (lib test) generated 13 warnings (13 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spacebattleship-c1cd705230be02c7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spacebattleship
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1845a9b03bfc4b33c505c4848992f309a77fdc5dada3bfb8c8dbd64e88a30da2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1845a9b03bfc4b33c505c4848992f309a77fdc5dada3bfb8c8dbd64e88a30da2", kill_on_drop: false }`
[INFO] [stdout] 1845a9b03bfc4b33c505c4848992f309a77fdc5dada3bfb8c8dbd64e88a30da2
