[INFO] fetching crate perovskite_server 0.3.2...
[INFO] checking perovskite_server-0.3.2 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate perovskite_server 0.3.2 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate perovskite_server 0.3.2
[INFO] finished tweaking crates.io crate perovskite_server 0.3.2
[INFO] tweaked toml for crates.io crate perovskite_server 0.3.2 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate perovskite_server 0.3.2 on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate perovskite_server 0.3.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f
[INFO] running `Command { std: "docker" "start" "a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling cc v1.2.16
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking socket2 v0.5.5
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling semver v1.0.20
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling pulldown-cmark v0.13.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]     Checking ff v0.13.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling rustls v0.23.26
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling async-trait v0.1.74
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking crc32fast v1.3.2
[INFO] [stderr]     Checking rustls-pemfile v2.1.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking webpki-roots v1.0.3
[INFO] [stderr]     Checking rustls-native-certs v0.8.0
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking object v0.32.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking flate2 v1.1.4
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]    Compiling perovskite_server v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking clap_builder v4.5.13
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling ring v0.17.13
[INFO] [stderr]    Compiling generator v0.8.7
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]    Compiling tracy-client-sys v0.24.3
[INFO] [stderr]     Checking unicode-ident v1.0.12
[INFO] [stderr]     Checking rlimit v0.10.1
[INFO] [stderr]    Compiling tempfile v3.8.1
[INFO] [stderr]     Checking tracy-client v0.18.2
[INFO] [stderr]     Checking uuid v1.5.0
[INFO] [stderr]     Checking seqlock v0.2.0
[INFO] [stderr]     Checking arc-swap v1.8.0
[INFO] [stderr]    Compiling pulldown-cmark-to-cmark v21.0.0
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]     Checking circular-buffer v1.2.0
[INFO] [stderr]     Checking integer-encoding v4.0.0
[INFO] [stderr]     Checking cbloom v0.1.3
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling prettyplease v0.2.15
[INFO] [stderr]    Compiling tonic-build v0.14.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling prost-derive v0.14.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling derive-where v1.6.1
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]     Checking tokio v1.38.2
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling googletest_macro v0.14.2
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking googletest v0.14.2
[INFO] [stderr]     Checking pin-project v1.1.3
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]    Compiling prost v0.14.1
[INFO] [stderr]     Checking rustls-webpki v0.103.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking clap v4.5.13
[INFO] [stderr]     Checking prost-types v0.14.1
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking serdect v0.2.0
[INFO] [stderr]     Checking obj-rs v0.7.1
[INFO] [stderr]     Checking der v0.7.9
[INFO] [stderr]     Checking ron v0.11.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking loom v0.7.2
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking hkdf v0.12.3
[INFO] [stderr]    Compiling prost-build v0.14.1
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking futures-executor v0.3.29
[INFO] [stderr]     Checking futures v0.3.29
[INFO] [stderr]    Compiling tonic-prost-build v0.14.2
[INFO] [stderr]     Checking axum-core v0.5.2
[INFO] [stderr]    Compiling perovskite_core v0.3.2
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking voprf v0.5.0
[INFO] [stderr]     Checking voprf v0.4.1
[INFO] [stderr]     Checking tokio-util v0.7.14
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-stream v0.1.16
[INFO] [stderr]     Checking h2 v0.4.5
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking opaque-ke v2.1.0-pre.1
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking opaque-ke v4.0.1
[INFO] [stderr]     Checking axum v0.8.4
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]     Checking hyper-util v0.1.8
[INFO] [stderr]     Checking hyper-timeout v0.5.1
[INFO] [stderr]     Checking tonic v0.14.2
[INFO] [stderr]     Checking tonic-prost v0.14.2
[INFO] [stderr]     Checking tonic-reflection v0.14.2
[INFO] [stdout] error: useless conversion to the same type: `BlockId`
[INFO] [stdout]     --> src/game_state/game_map.rs:1645:29
[INFO] [stdout]      |
[INFO] [stdout] 1645 |             let old_block = old_id.into();
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]      = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1645 -             let old_block = old_id.into();
[INFO] [stdout] 1645 +             let old_block = old_id;
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1645 -             let old_block = old_id.into();
[INFO] [stdout] 1645 +             let old_block = <BlockId as Into<_>>::into(old_id);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:1315:35
[INFO] [stdout]      |
[INFO] [stdout] 1315 |                 block_coord: Some(coord.into()),
[INFO] [stdout]      |                                   ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1315 -                 block_coord: Some(coord.into()),
[INFO] [stdout] 1315 +                 block_coord: Some(coord),
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1315 -                 block_coord: Some(coord.into()),
[INFO] [stdout] 1315 +                 block_coord: Some(<BlockCoordinate as Into<_>>::into(coord)),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:1756:44
[INFO] [stdout]      |
[INFO] [stdout] 1756 | ...                   preceding: dig_message.prev_coord.map(Into::into),
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1756 -                                 preceding: dig_message.prev_coord.map(Into::into),
[INFO] [stdout] 1756 +                                 preceding: dig_message.prev_coord,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:1799:44
[INFO] [stdout]      |
[INFO] [stdout] 1799 | ...                   preceding: tap_message.prev_coord.map(Into::into),
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1799 -                                 preceding: tap_message.prev_coord.map(Into::into),
[INFO] [stdout] 1799 +                                 preceding: tap_message.prev_coord,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:2112:33
[INFO] [stdout]      |
[INFO] [stdout] 2112 |                     let coord = footstep.coord.context("Missing coord")?.into();
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 2112 -                     let coord = footstep.coord.context("Missing coord")?.into();
[INFO] [stdout] 2112 +                     let coord = footstep.coord.context("Missing coord")?;
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 2112 -                     let coord = footstep.coord.context("Missing coord")?.into();
[INFO] [stdout] 2112 +                     let coord = <BlockCoordinate as Into<_>>::into(footstep.coord.context("Missing coord")?);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:2227:52
[INFO] [stdout]      |
[INFO] [stdout] 2227 | ...                   preceding: place_message.block_coord.map(Into::into),
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 2227 -                                         preceding: place_message.block_coord.map(Into::into),
[INFO] [stdout] 2227 +                                         preceding: place_message.block_coord,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Response<LastEventsResp>`
[INFO] [stdout]    --> src/network_server/debug_rpc.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 |         Ok(Response::new(LastEventsResp { events }).into())
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 181 -         Ok(Response::new(LastEventsResp { events }).into())
[INFO] [stdout] 181 +         Ok(Response::new(LastEventsResp { events }))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 181 -         Ok(Response::new(LastEventsResp { events }).into())
[INFO] [stdout] 181 +         Ok(<Response<LastEventsResp> as Into<_>>::into(Response::new(LastEventsResp { events })))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Response<SetWorkingCoordResp>`
[INFO] [stdout]    --> src/network_server/debug_rpc.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 205 |         Ok(Response::new(SetWorkingCoordResp {}).into())
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 205 -         Ok(Response::new(SetWorkingCoordResp {}).into())
[INFO] [stdout] 205 +         Ok(Response::new(SetWorkingCoordResp {}))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 205 -         Ok(Response::new(SetWorkingCoordResp {}).into())
[INFO] [stdout] 205 +         Ok(<Response<SetWorkingCoordResp> as Into<_>>::into(Response::new(SetWorkingCoordResp {})))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `perovskite_server` (lib) due to 8 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `perovskite_core::block_id::BlockId`
[INFO] [stdout]     --> src/game_state/game_map.rs:1645:29
[INFO] [stdout]      |
[INFO] [stdout] 1645 |             let old_block = old_id.into();
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]      = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1645 -             let old_block = old_id.into();
[INFO] [stdout] 1645 +             let old_block = old_id;
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1645 -             let old_block = old_id.into();
[INFO] [stdout] 1645 +             let old_block = <perovskite_core::block_id::BlockId as Into<_>>::into(old_id);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `perovskite_core::coordinates::BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:1315:35
[INFO] [stdout]      |
[INFO] [stdout] 1315 |                 block_coord: Some(coord.into()),
[INFO] [stdout]      |                                   ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1315 -                 block_coord: Some(coord.into()),
[INFO] [stdout] 1315 +                 block_coord: Some(coord),
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1315 -                 block_coord: Some(coord.into()),
[INFO] [stdout] 1315 +                 block_coord: Some(<perovskite_core::coordinates::BlockCoordinate as Into<_>>::into(coord)),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `perovskite_core::coordinates::BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:1756:44
[INFO] [stdout]      |
[INFO] [stdout] 1756 | ...                   preceding: dig_message.prev_coord.map(Into::into),
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1756 -                                 preceding: dig_message.prev_coord.map(Into::into),
[INFO] [stdout] 1756 +                                 preceding: dig_message.prev_coord,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `perovskite_core::coordinates::BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:1799:44
[INFO] [stdout]      |
[INFO] [stdout] 1799 | ...                   preceding: tap_message.prev_coord.map(Into::into),
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1799 -                                 preceding: tap_message.prev_coord.map(Into::into),
[INFO] [stdout] 1799 +                                 preceding: tap_message.prev_coord,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `perovskite_core::coordinates::BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:2112:33
[INFO] [stdout]      |
[INFO] [stdout] 2112 |                     let coord = footstep.coord.context("Missing coord")?.into();
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 2112 -                     let coord = footstep.coord.context("Missing coord")?.into();
[INFO] [stdout] 2112 +                     let coord = footstep.coord.context("Missing coord")?;
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 2112 -                     let coord = footstep.coord.context("Missing coord")?.into();
[INFO] [stdout] 2112 +                     let coord = <perovskite_core::coordinates::BlockCoordinate as Into<_>>::into(footstep.coord.context("Missing coord")?);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `perovskite_core::coordinates::BlockCoordinate`
[INFO] [stdout]     --> src/network_server/client_context.rs:2227:52
[INFO] [stdout]      |
[INFO] [stdout] 2227 | ...                   preceding: place_message.block_coord.map(Into::into),
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 2227 -                                         preceding: place_message.block_coord.map(Into::into),
[INFO] [stdout] 2227 +                                         preceding: place_message.block_coord,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Response<LastEventsResp>`
[INFO] [stdout]    --> src/network_server/debug_rpc.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 |         Ok(Response::new(LastEventsResp { events }).into())
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 181 -         Ok(Response::new(LastEventsResp { events }).into())
[INFO] [stdout] 181 +         Ok(Response::new(LastEventsResp { events }))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 181 -         Ok(Response::new(LastEventsResp { events }).into())
[INFO] [stdout] 181 +         Ok(<Response<LastEventsResp> as Into<_>>::into(Response::new(LastEventsResp { events })))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Response<SetWorkingCoordResp>`
[INFO] [stdout]    --> src/network_server/debug_rpc.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 205 |         Ok(Response::new(SetWorkingCoordResp {}).into())
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 205 -         Ok(Response::new(SetWorkingCoordResp {}).into())
[INFO] [stdout] 205 +         Ok(Response::new(SetWorkingCoordResp {}))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 205 -         Ok(Response::new(SetWorkingCoordResp {}).into())
[INFO] [stdout] 205 +         Ok(<Response<SetWorkingCoordResp> as Into<_>>::into(Response::new(SetWorkingCoordResp {})))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `perovskite_server` (lib test) due to 8 previous errors
[INFO] running `Command { std: "docker" "inspect" "a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f", kill_on_drop: false }`
[INFO] [stdout] a7c083a7403743cde7b083bc8e5749ea6b4413f9236e78794612ed923db7146f
