[INFO] fetching crate naia-shared 0.24.0...
[INFO] testing naia-shared-0.24.0 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate naia-shared 0.24.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate naia-shared 0.24.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate naia-shared 0.24.0
[INFO] tweaked toml for crates.io crate naia-shared 0.24.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate naia-shared 0.24.0 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate naia-shared 0.24.0 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" "+beta-2025-10-28" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a2a9e2e06d3eb13e8eb695e250e0a2924d5166da244ca6dbfcf266b1bcfeb6c9
[INFO] running `Command { std: "docker" "start" "-a" "a2a9e2e06d3eb13e8eb695e250e0a2924d5166da244ca6dbfcf266b1bcfeb6c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a2a9e2e06d3eb13e8eb695e250e0a2924d5166da244ca6dbfcf266b1bcfeb6c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2a9e2e06d3eb13e8eb695e250e0a2924d5166da244ca6dbfcf266b1bcfeb6c9", kill_on_drop: false }`
[INFO] [stdout] a2a9e2e06d3eb13e8eb695e250e0a2924d5166da244ca6dbfcf266b1bcfeb6c9
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66baf23032f162ce62731a0d2f0b496695cc51df13c8e1d9a56b76d0998e7393
[INFO] running `Command { std: "docker" "start" "-a" "66baf23032f162ce62731a0d2f0b496695cc51df13c8e1d9a56b76d0998e7393", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling tinyvec v1.8.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling url v2.5.2
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling naia-serde-derive v0.24.0
[INFO] [stderr]    Compiling naia-serde v0.24.0
[INFO] [stderr]    Compiling naia-derive v0.24.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling naia-socket-shared v0.24.0
[INFO] [stderr]    Compiling naia-shared v0.24.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/component/component_update.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn reader(&self) -> BitReader {
[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] 18 |     pub fn reader(&self) -> BitReader<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/component/component_update.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn reader(&self) -> BitReader {
[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] 52 |     pub fn reader(&self) -> BitReader<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/host/mut_channel.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn mask(&self) -> RwLockReadGuard<DiffMask> {
[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] 69 |     pub fn mask(&self) -> RwLockReadGuard<'_, DiffMask> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/host/user_diff_handler.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 55 |     ) -> RwLockReadGuard<DiffMask> {
[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] 55 |     ) -> RwLockReadGuard<'_, DiffMask> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world/host/world_channel.rs:684:17
[INFO] [stdout]     |
[INFO] [stdout] 684 |     pub fn iter(&self) -> std::collections::hash_map::Iter<K, V> {
[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] 684 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, K, V> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world/host/world_channel.rs:729:17
[INFO] [stdout]     |
[INFO] [stdout] 729 |     pub fn iter(&self) -> std::collections::hash_set::Iter<K> {
[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] 729 |     pub fn iter(&self) -> std::collections::hash_set::Iter<'_, K> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.54s
[INFO] running `Command { std: "docker" "inspect" "66baf23032f162ce62731a0d2f0b496695cc51df13c8e1d9a56b76d0998e7393", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66baf23032f162ce62731a0d2f0b496695cc51df13c8e1d9a56b76d0998e7393", kill_on_drop: false }`
[INFO] [stdout] 66baf23032f162ce62731a0d2f0b496695cc51df13c8e1d9a56b76d0998e7393
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 72d8fae83ed1ba7fe175912be96f2e4e1c1beda8e33ad5590563fcb6a07afe48
[INFO] running `Command { std: "docker" "start" "-a" "72d8fae83ed1ba7fe175912be96f2e4e1c1beda8e33ad5590563fcb6a07afe48", kill_on_drop: false }`
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/component/component_update.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn reader(&self) -> BitReader {
[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] 18 |     pub fn reader(&self) -> BitReader<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/component/component_update.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn reader(&self) -> BitReader {
[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] 52 |     pub fn reader(&self) -> BitReader<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/host/mut_channel.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn mask(&self) -> RwLockReadGuard<DiffMask> {
[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] 69 |     pub fn mask(&self) -> RwLockReadGuard<'_, DiffMask> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world/host/user_diff_handler.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 55 |     ) -> RwLockReadGuard<DiffMask> {
[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] 55 |     ) -> RwLockReadGuard<'_, DiffMask> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world/host/world_channel.rs:684:17
[INFO] [stdout]     |
[INFO] [stdout] 684 |     pub fn iter(&self) -> std::collections::hash_map::Iter<K, V> {
[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] 684 |     pub fn iter(&self) -> std::collections::hash_map::Iter<'_, K, V> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world/host/world_channel.rs:729:17
[INFO] [stdout]     |
[INFO] [stdout] 729 |     pub fn iter(&self) -> std::collections::hash_set::Iter<K> {
[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] 729 |     pub fn iter(&self) -> std::collections::hash_set::Iter<'_, K> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling naia-shared v0.24.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: suffixes on a tuple index are invalid
[INFO] [stdout]  --> tests/derive_tuple_struct.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 |     #[derive(Clone, Debug, PartialEq, Serde)]
[INFO] [stdout]   |                                       ^^^^^ invalid suffix `usize`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this error originates in the derive macro `Serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: proc-macro derive produced unparsable tokens
[INFO] [stdout]  --> tests/derive_tuple_struct.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 |     #[derive(Clone, Debug, PartialEq, Serde)]
[INFO] [stdout]   |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HostEntity` in this scope
[INFO] [stdout]    --> tests/derive_replicate.rs:204:21
[INFO] [stdout]     |
[INFO] [stdout] 204 |         ) -> Result<HostEntity, EntityDoesNotExistError> {
[INFO] [stdout]     |                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]  75 + use naia_shared::HostEntity;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HostEntity` in this scope
[INFO] [stdout]    --> tests/derive_replicate.rs:209:27
[INFO] [stdout]     |
[INFO] [stdout] 209 |             host_entity: &HostEntity,
[INFO] [stdout]     |                           ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]  75 + use naia_shared::HostEntity;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `naia-shared` (test "derive_tuple_struct") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `global_entity_to_remote_entity`, `global_entity_to_owned_entity`, `remote_entity_to_global_entity`
[INFO] [stdout]    --> tests/derive_replicate.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     impl LocalEntityAndGlobalEntityConverter for TestEntityConverter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `global_entity_to_remote_entity`, `global_entity_to_owned_entity`, `remote_entity_to_global_entity` in implementation
[INFO] [stdout]     |
[INFO] [stdout]     = help: implement the missing item: `fn global_entity_to_remote_entity(&self, _: &GlobalEntity) -> Result<RemoteEntity, EntityDoesNotExistError> { todo!() }`
[INFO] [stdout]     = help: implement the missing item: `fn global_entity_to_owned_entity(&self, _: &GlobalEntity) -> Result<OwnedLocalEntity, EntityDoesNotExistError> { todo!() }`
[INFO] [stdout]     = help: implement the missing item: `fn remote_entity_to_global_entity(&self, _: &RemoteEntity) -> Result<GlobalEntity, EntityDoesNotExistError> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/derive_replicate.rs:97:47
[INFO] [stdout]    |
[INFO] [stdout] 97 |     in_1.write(&component_kinds, &mut writer, &FakeEntityConverter);
[INFO] [stdout]    |          -----                                ^^^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]    |          |
[INFO] [stdout]    |          arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                       found reference `&FakeEntityConverter`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/world/component/replicate.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn write(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/derive_replicate.rs:125:47
[INFO] [stdout]     |
[INFO] [stdout] 125 |     in_1.write(&component_kinds, &mut writer, &FakeEntityConverter);
[INFO] [stdout]     |          -----                                ^^^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                        found reference `&FakeEntityConverter`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/world/component/replicate.rs:72:8
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn write(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/derive_replicate.rs:160:47
[INFO] [stdout]     |
[INFO] [stdout] 160 |     in_1.write(&component_kinds, &mut writer, &FakeEntityConverter);
[INFO] [stdout]     |          -----                                ^^^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                        found reference `&FakeEntityConverter`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/world/component/replicate.rs:72:8
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn write(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/derive_replicate.rs:226:47
[INFO] [stdout]     |
[INFO] [stdout] 226 |     in_1.write(&component_kinds, &mut writer, &TestEntityConverter);
[INFO] [stdout]     |          -----                                ^^^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                        found reference `&TestEntityConverter`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/world/component/replicate.rs:72:8
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn write(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `equals` found for struct `EntityProperty` in the current scope
[INFO] [stdout]    --> tests/derive_replicate.rs:237:27
[INFO] [stdout]     |
[INFO] [stdout] 237 |     assert!(in_1.entity_1.equals(&typed_out_1.entity_1));
[INFO] [stdout]     |                           ^^^^^^ method not found in `EntityProperty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `entities` found for struct `some_entity_replica::EntityPropertyHolder` in the current scope
[INFO] [stdout]    --> tests/derive_replicate.rs:239:21
[INFO] [stdout]     |
[INFO] [stdout]  46 |     pub struct EntityPropertyHolder {
[INFO] [stdout]     |     ------------------------------- method `entities` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 239 |     assert_eq!(in_1.entities(), global_entitys);
[INFO] [stdout]     |                     ^^^^^^^^ method not found in `some_entity_replica::EntityPropertyHolder`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `entities`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `WorldRefType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `entities` found for reference `&some_entity_replica::EntityPropertyHolder` in the current scope
[INFO] [stdout]    --> tests/derive_replicate.rs:240:28
[INFO] [stdout]     |
[INFO] [stdout] 240 |     assert_eq!(typed_out_1.entities(), global_entitys);
[INFO] [stdout]     |                            ^^^^^^^^ method not found in `&some_entity_replica::EntityPropertyHolder`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `entities`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `WorldRefType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `global_entity` found for struct `EntityProperty` in the current scope
[INFO] [stdout]    --> tests/derive_replicate.rs:242:30
[INFO] [stdout]     |
[INFO] [stdout] 242 |     assert_eq!(in_1.entity_1.global_entity().unwrap().to_u64(), 1);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ method not found in `EntityProperty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `global_entity` found for struct `EntityProperty` in the current scope
[INFO] [stdout]    --> tests/derive_replicate.rs:244:37
[INFO] [stdout]     |
[INFO] [stdout] 244 |     assert_eq!(typed_out_1.entity_1.global_entity().unwrap().to_u64(), 1);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ method not found in `EntityProperty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LocalEntity`
[INFO] [stdout]    --> tests/derive_replicate.rs:205:16
[INFO] [stdout]     |
[INFO] [stdout] 205 |             Ok(LocalEntity::new_host(global_entity.to_u64() as u16))
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                use of undeclared type `LocalEntity`
[INFO] [stdout]     |                help: a struct with a similar name exists: `GlobalEntity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/derive_replicate.rs:260:47
[INFO] [stdout]     |
[INFO] [stdout] 260 |     in_1.write(&component_kinds, &mut writer, &FakeEntityConverter);
[INFO] [stdout]     |          -----                                ^^^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                        found reference `&FakeEntityConverter`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/world/component/replicate.rs:72:8
[INFO] [stdout]     |
[INFO] [stdout]  72 |     fn write(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0308, E0412, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `naia-shared` (test "derive_replicate") due to 14 previous errors
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/messages/tests/fragment.rs:54:78
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let container = MessageContainer::from_write(Box::new(outgoing_message), &FakeEntityConverter);
[INFO] [stdout]    |                     ----------------------------                             ^^^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                       found reference `&FakeEntityConverter`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/messages/message_container.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn from_write(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 20 |         message: Box<dyn Message>,
[INFO] [stdout] 21 |         converter: &mut dyn LocalEntityAndGlobalEntityConverterMut,
[INFO] [stdout]    |         ----------------------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/messages/tests/fragment.rs:57:65
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let fragments = fragmenter.fragment_message(&message_kinds, &converter, container);
[INFO] [stdout]    |                                ----------------                 ^^^^^^^^^^ types differ in mutability
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                       found reference `&FakeEntityConverter`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/messages/channels/senders/message_fragmenter.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn fragment_message(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |         converter: &mut dyn LocalEntityAndGlobalEntityConverterMut,
[INFO] [stdout]    |         ----------------------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]   --> src/messages/tests/fragment.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             receiver.receive(&message_kinds, &converter, fragment)
[INFO] [stdout]    |                      ^^^^^^^                             -------- argument #3 of type `u16` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/messages/channels/receivers/fragment_receiver.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub(crate) fn receive(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |         message_index: MessageIndex,
[INFO] [stdout]    |         ---------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 64 |             receiver.receive(&message_kinds, &converter, /* u16 */, fragment)
[INFO] [stdout]    |                                                          ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/messages/tests/fragment.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if let Some((_, reassembled_message)) =
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^ expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout] 64 |             receiver.receive(&message_kinds, &converter, fragment)
[INFO] [stdout]    |             ------------------------------------------------------ this expression has type `Option<(u16, u16, MessageContainer)>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected tuple `(u16, u16, MessageContainer)`
[INFO] [stdout]               found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/messages/tests/fragment.rs:101:78
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let container = MessageContainer::from_write(Box::new(outgoing_message), &FakeEntityConverter);
[INFO] [stdout]     |                     ----------------------------                             ^^^^^^^^^^^^^^^^^^^^ types differ in mutability
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                        found reference `&FakeEntityConverter`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/messages/message_container.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  19 |     pub fn from_write(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]  20 |         message: Box<dyn Message>,
[INFO] [stdout]  21 |         converter: &mut dyn LocalEntityAndGlobalEntityConverterMut,
[INFO] [stdout]     |         ----------------------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/messages/tests/fragment.rs:104:65
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let fragments = fragmenter.fragment_message(&message_kinds, &converter, container);
[INFO] [stdout]     |                                ----------------                 ^^^^^^^^^^ types differ in mutability
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut dyn LocalEntityAndGlobalEntityConverterMut`
[INFO] [stdout]                        found reference `&FakeEntityConverter`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/messages/channels/senders/message_fragmenter.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout]  21 |     pub fn fragment_message(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |         converter: &mut dyn LocalEntityAndGlobalEntityConverterMut,
[INFO] [stdout]     |         ----------------------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/messages/tests/fragment.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |             receiver.receive(&message_kinds, &converter, fragment.clone())
[INFO] [stdout]     |                      ^^^^^^^                             ---------------- argument #3 of type `u16` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/messages/channels/receivers/fragment_receiver.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub(crate) fn receive(
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |         message_index: MessageIndex,
[INFO] [stdout]     |         ---------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 119 |             receiver.receive(&message_kinds, &converter, /* u16 */, fragment.clone())
[INFO] [stdout]     |                                                          ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/messages/tests/fragment.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |         if let Some((_, reassembled_message)) =
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^ expected a tuple with 3 elements, found one with 2 elements
[INFO] [stdout] 119 |             receiver.receive(&message_kinds, &converter, fragment.clone())
[INFO] [stdout]     |             -------------------------------------------------------------- this expression has type `Option<(u16, u16, MessageContainer)>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected tuple `(u16, u16, MessageContainer)`
[INFO] [stdout]                found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `naia-shared` (lib test) due to 8 previous errors
[INFO] running `Command { std: "docker" "inspect" "72d8fae83ed1ba7fe175912be96f2e4e1c1beda8e33ad5590563fcb6a07afe48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72d8fae83ed1ba7fe175912be96f2e4e1c1beda8e33ad5590563fcb6a07afe48", kill_on_drop: false }`
[INFO] [stdout] 72d8fae83ed1ba7fe175912be96f2e4e1c1beda8e33ad5590563fcb6a07afe48
