[INFO] fetching crate naia-shared 0.24.0...
[INFO] testing naia-shared-0.24.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate naia-shared 0.24.0 into /workspace/builds/worker-0-tc1/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-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate naia-shared 0.24.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded naia-serde v0.24.0
[INFO] [stderr]   Downloaded zstd v0.12.4
[INFO] [stderr]   Downloaded bevy_utils_proc_macros v0.15.0
[INFO] [stderr]   Downloaded naia-serde-derive v0.24.0
[INFO] [stderr]   Downloaded naia-socket-shared v0.24.0
[INFO] [stderr]   Downloaded naia-derive v0.24.0
[INFO] [stderr]   Downloaded zstd-safe v6.0.6
[INFO] [stderr]   Downloaded bevy_ptr v0.15.0
[INFO] [stderr]   Downloaded nonmax v0.5.5
[INFO] [stderr]   Downloaded bevy_utils v0.15.0
[INFO] [stderr]   Downloaded bevy_ecs_macros v0.15.0
[INFO] [stderr]   Downloaded bevy_tasks v0.15.0
[INFO] [stderr]   Downloaded disqualified v1.0.0
[INFO] [stderr]   Downloaded bevy_macro_utils v0.15.0
[INFO] [stderr]   Downloaded cc v1.1.20
[INFO] [stderr]   Downloaded derive_more-impl v1.0.0
[INFO] [stderr]   Downloaded derive_more v1.0.0
[INFO] [stderr]   Downloaded toml_edit v0.22.21
[INFO] [stderr]   Downloaded indexmap v2.5.0
[INFO] [stderr]   Downloaded syn v2.0.87
[INFO] [stderr]   Downloaded bevy_ecs v0.15.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 30ca452bd4124c52d871226d5c514d75482b4f7c50333ea4e5b83ec4e6721b15
[INFO] running `Command { std: "docker" "start" "-a" "30ca452bd4124c52d871226d5c514d75482b4f7c50333ea4e5b83ec4e6721b15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30ca452bd4124c52d871226d5c514d75482b4f7c50333ea4e5b83ec4e6721b15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30ca452bd4124c52d871226d5c514d75482b4f7c50333ea4e5b83ec4e6721b15", kill_on_drop: false }`
[INFO] [stdout] 30ca452bd4124c52d871226d5c514d75482b4f7c50333ea4e5b83ec4e6721b15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] efd2fd8084f4a89eb1ad918656c91c314845ee851537562c8466c2b1934603d5
[INFO] running `Command { std: "docker" "start" "-a" "efd2fd8084f4a89eb1ad918656c91c314845ee851537562c8466c2b1934603d5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling tinyvec v1.8.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling idna v0.5.0
[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-derive v0.24.0
[INFO] [stderr]    Compiling naia-serde 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 15.29s
[INFO] running `Command { std: "docker" "inspect" "efd2fd8084f4a89eb1ad918656c91c314845ee851537562c8466c2b1934603d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "efd2fd8084f4a89eb1ad918656c91c314845ee851537562c8466c2b1934603d5", kill_on_drop: false }`
[INFO] [stdout] efd2fd8084f4a89eb1ad918656c91c314845ee851537562c8466c2b1934603d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dfdfa3db1990a387f43ac202f79ea4d68cd25386f07fa1dcf246bbf25549fd82
[INFO] running `Command { std: "docker" "start" "-a" "dfdfa3db1990a387f43ac202f79ea4d68cd25386f07fa1dcf246bbf25549fd82", 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" "dfdfa3db1990a387f43ac202f79ea4d68cd25386f07fa1dcf246bbf25549fd82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfdfa3db1990a387f43ac202f79ea4d68cd25386f07fa1dcf246bbf25549fd82", kill_on_drop: false }`
[INFO] [stdout] dfdfa3db1990a387f43ac202f79ea4d68cd25386f07fa1dcf246bbf25549fd82
