[INFO] cloning repository https://github.com/SheSnake/game_client
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SheSnake/game_client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSheSnake%2Fgame_client", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSheSnake%2Fgame_client'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 985b542cbeaa5a6a5eabb7db32309155da019aa7
[INFO] testing SheSnake/game_client against beta-2020-10-09 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSheSnake%2Fgame_client" "/workspace/builds/worker-6/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/SheSnake/game_client on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/SheSnake/game_client
[INFO] finished tweaking git repo https://github.com/SheSnake/game_client
[INFO] tweaked toml for git repo https://github.com/SheSnake/game_client written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] crate git repo https://github.com/SheSnake/game_client already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d69739835760338f931a9471d6aa0c72b815504118f0fd33edb6251dec5ea5c9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d69739835760338f931a9471d6aa0c72b815504118f0fd33edb6251dec5ea5c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d69739835760338f931a9471d6aa0c72b815504118f0fd33edb6251dec5ea5c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d69739835760338f931a9471d6aa0c72b815504118f0fd33edb6251dec5ea5c9", kill_on_drop: false }`
[INFO] [stdout] d69739835760338f931a9471d6aa0c72b815504118f0fd33edb6251dec5ea5c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 313c877bdd509648d2b749c2145793543b69eec1cc0d892e9041ed69d2acaab9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "313c877bdd509648d2b749c2145793543b69eec1cc0d892e9041ed69d2acaab9", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.14
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling memchr v2.3.2
[INFO] [stderr]    Compiling futures-core v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling num_cpus v1.12.0
[INFO] [stderr]    Compiling signal-hook-registry v1.2.0
[INFO] [stderr]    Compiling mio v0.6.21
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling c2-chacha v0.2.3
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling chrono v0.4.10
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]    Compiling tokio-macros v0.2.4
[INFO] [stderr]    Compiling tokio v0.2.11
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling bincode v1.2.1
[INFO] [stderr]    Compiling serde_bytes v0.10.5
[INFO] [stderr]    Compiling game_client v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::prelude`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut stream = TcpStream::connect("0.0.0.0:8890");
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let mut msg = read_msg(&mut stream);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let mut msg = read_msg(&mut stream);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |           ----^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |                         println!("auth {} fail", msg.code);
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:166:86
[INFO] [stdout]     |
[INFO] [stdout] 166 |                         println!("read unknow msg type:{}, len:{}", header.msg_type, header.len);
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:139:65
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   room_id = String::from_utf8(result.room_id.clone()).unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:145:117
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         println!("user_id:{}, in room_id:{}, op_type:{} code:{}", user_id, room_id, result.op_type, result.code);
[INFO] [stdout]     |                                                                                                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:155:57
[INFO] [stdout]     |
[INFO] [stdout] 155 |                         let room_id = String::from_utf8(snapshot.room_id.clone()).unwrap();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:157:38
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:157:57
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:180:67
[INFO] [stdout]     |
[INFO] [stdout] 180 | ...                   println!("recv begin card: {:?}", update.provide_cards);
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:112
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...   println!("cur_round:{} cur_step:{} user: {} on_hand:{:?} recv new card: {:?}", update.game_info.cur_game_round, update.game_info.cu...
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:145
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...v new card: {:?}", update.game_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, up...
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:177
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:203
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...pdate.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:97
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:130
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:162
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:97
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:130
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:163
[INFO] [stdout]     |
[INFO] [stdout] 206 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:97
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:130
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:163
[INFO] [stdout]     |
[INFO] [stdout] 209 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:97
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:130
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:163
[INFO] [stdout]     |
[INFO] [stdout] 212 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:101
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...   println!("cur_round:{} cur_step:{} user: {}, win by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step...
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:134
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update....
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:167
[INFO] [stdout]     |
[INFO] [stdout] 215 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:81
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:81
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:129
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:129
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...ist.operations[0].game_info.cur_game_round, op_list.operations[0].game_info.cur_game_step);
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:224:35
[INFO] [stdout]     |
[INFO] [stdout] 224 |                         for op in op_list.operations.iter() {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:228:81
[INFO] [stdout]     |
[INFO] [stdout] 228 |                         let data: &[u8] = &bincode::serialize::<GameOperation>(&op_list.operations[0]).unwrap();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:242:77
[INFO] [stdout]     |
[INFO] [stdout] 242 | ...                   let mut content = format!("round {} over:", update.cur_round).to_string();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:235:78
[INFO] [stdout]     |
[INFO] [stdout] 235 | ...                   let mut content = format!("round {} start:", update.cur_round).to_string();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:237:81
[INFO] [stdout]     |
[INFO] [stdout] 237 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:244:81
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:253:53
[INFO] [stdout]     |
[INFO] [stdout] 253 |                         println!("game over: {:?}", over.user_cur_score);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_to_room_manage_result`
[INFO] [stdout]   --> src/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_to_room_manage_result(data: Vec<u8>) -> RoomManageResult {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_to_room_update`
[INFO] [stdout]   --> src/main.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_to_room_update(data: Vec<u8>) -> RoomUpdate {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/main.rs:229:25
[INFO] [stdout]     |
[INFO] [stdout] 229 |                         stream.write(data);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "313c877bdd509648d2b749c2145793543b69eec1cc0d892e9041ed69d2acaab9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "313c877bdd509648d2b749c2145793543b69eec1cc0d892e9041ed69d2acaab9", kill_on_drop: false }`
[INFO] [stdout] 313c877bdd509648d2b749c2145793543b69eec1cc0d892e9041ed69d2acaab9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 54009ad2e5465664b70d7be60ca1070b1b0c3d088147db689692f8b3a2eeba1a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "54009ad2e5465664b70d7be60ca1070b1b0c3d088147db689692f8b3a2eeba1a", kill_on_drop: false }`
[INFO] [stderr]    Compiling game_client v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::prelude`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut stream = TcpStream::connect("0.0.0.0:8890");
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let mut msg = read_msg(&mut stream);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let mut msg = read_msg(&mut stream);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |           ----^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |                         println!("auth {} fail", msg.code);
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:166:86
[INFO] [stdout]     |
[INFO] [stdout] 166 |                         println!("read unknow msg type:{}, len:{}", header.msg_type, header.len);
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:139:65
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   room_id = String::from_utf8(result.room_id.clone()).unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:145:117
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         println!("user_id:{}, in room_id:{}, op_type:{} code:{}", user_id, room_id, result.op_type, result.code);
[INFO] [stdout]     |                                                                                                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:155:57
[INFO] [stdout]     |
[INFO] [stdout] 155 |                         let room_id = String::from_utf8(snapshot.room_id.clone()).unwrap();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:157:38
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:157:57
[INFO] [stdout]     |
[INFO] [stdout] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:180:67
[INFO] [stdout]     |
[INFO] [stdout] 180 | ...                   println!("recv begin card: {:?}", update.provide_cards);
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:112
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...   println!("cur_round:{} cur_step:{} user: {} on_hand:{:?} recv new card: {:?}", update.game_info.cur_game_round, update.game_info.cu...
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:145
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...v new card: {:?}", update.game_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, up...
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:177
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:184:203
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...pdate.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:97
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:130
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:203:162
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:97
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:130
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:206:163
[INFO] [stdout]     |
[INFO] [stdout] 206 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:97
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:130
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:209:163
[INFO] [stdout]     |
[INFO] [stdout] 209 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:97
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:130
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:212:163
[INFO] [stdout]     |
[INFO] [stdout] 212 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:101
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...   println!("cur_round:{} cur_step:{} user: {}, win by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step...
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:134
[INFO] [stdout]     |
[INFO] [stdout] 215 | ...by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update....
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:215:167
[INFO] [stdout]     |
[INFO] [stdout] 215 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:81
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:81
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:129
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stdout]     |                                                                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:222:129
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...ist.operations[0].game_info.cur_game_round, op_list.operations[0].game_info.cur_game_step);
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:224:35
[INFO] [stdout]     |
[INFO] [stdout] 224 |                         for op in op_list.operations.iter() {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:228:81
[INFO] [stdout]     |
[INFO] [stdout] 228 |                         let data: &[u8] = &bincode::serialize::<GameOperation>(&op_list.operations[0]).unwrap();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:242:77
[INFO] [stdout]     |
[INFO] [stdout] 242 | ...                   let mut content = format!("round {} over:", update.cur_round).to_string();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:235:78
[INFO] [stdout]     |
[INFO] [stdout] 235 | ...                   let mut content = format!("round {} start:", update.cur_round).to_string();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:237:81
[INFO] [stdout]     |
[INFO] [stdout] 237 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:244:81
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/main.rs:253:53
[INFO] [stdout]     |
[INFO] [stdout] 253 |                         println!("game over: {:?}", over.user_cur_score);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]   --> src/message/mod.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:144:55
[INFO] [stdout]     |
[INFO] [stdout] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for op in self.operations.iter() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:176:55
[INFO] [stdout]     |
[INFO] [stdout] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:213:46
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:228:42
[INFO] [stdout]     |
[INFO] [stdout] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:38
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:68
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:243:107
[INFO] [stdout]     |
[INFO] [stdout] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stdout]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:50
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:261:86
[INFO] [stdout]     |
[INFO] [stdout] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stdout]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:294:20
[INFO] [stdout]     |
[INFO] [stdout] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:38
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stdout]    --> src/message/mod.rs:317:71
[INFO] [stdout]     |
[INFO] [stdout] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stdout]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_to_room_manage_result`
[INFO] [stdout]   --> src/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_to_room_manage_result(data: Vec<u8>) -> RoomManageResult {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `parse_to_room_update`
[INFO] [stdout]   --> src/main.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_to_room_update(data: Vec<u8>) -> RoomUpdate {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/main.rs:229:25
[INFO] [stdout]     |
[INFO] [stdout] 229 |                         stream.write(data);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 74 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.79s
[INFO] running `Command { std: "docker" "inspect" "54009ad2e5465664b70d7be60ca1070b1b0c3d088147db689692f8b3a2eeba1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54009ad2e5465664b70d7be60ca1070b1b0c3d088147db689692f8b3a2eeba1a", kill_on_drop: false }`
[INFO] [stdout] 54009ad2e5465664b70d7be60ca1070b1b0c3d088147db689692f8b3a2eeba1a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 2643ab695c6c8e523b253f61316f57617598f77c7cce4a3c62e7c86628bc0b5f
[INFO] running `Command { std: "docker" "start" "-a" "2643ab695c6c8e523b253f61316f57617598f77c7cce4a3c62e7c86628bc0b5f", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]   --> src/message/mod.rs:69:10
[INFO] [stderr]    |
[INFO] [stderr] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]   --> src/message/mod.rs:87:10
[INFO] [stderr]    |
[INFO] [stderr] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:103:10
[INFO] [stderr]     |
[INFO] [stderr] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:132:10
[INFO] [stderr]     |
[INFO] [stderr] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:144:55
[INFO] [stderr]     |
[INFO] [stderr] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:157:19
[INFO] [stderr]     |
[INFO] [stderr] 157 |         for op in self.operations.iter() {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:164:10
[INFO] [stderr]     |
[INFO] [stderr] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:176:55
[INFO] [stderr]     |
[INFO] [stderr] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:201:10
[INFO] [stderr]     |
[INFO] [stderr] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:213:46
[INFO] [stderr]     |
[INFO] [stderr] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stderr]     |                                              ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:217:10
[INFO] [stderr]     |
[INFO] [stderr] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:228:42
[INFO] [stderr]     |
[INFO] [stderr] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stderr]     |                                          ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:232:10
[INFO] [stderr]     |
[INFO] [stderr] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:38
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:68
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:107
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:247:10
[INFO] [stderr]     |
[INFO] [stderr] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:261:50
[INFO] [stderr]     |
[INFO] [stderr] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:261:86
[INFO] [stderr]     |
[INFO] [stderr] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stderr]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:265:10
[INFO] [stderr]     |
[INFO] [stderr] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:278:10
[INFO] [stderr]     |
[INFO] [stderr] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:293:20
[INFO] [stderr]     |
[INFO] [stderr] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:294:20
[INFO] [stderr]     |
[INFO] [stderr] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:296:27
[INFO] [stderr]     |
[INFO] [stderr] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:306:10
[INFO] [stderr]     |
[INFO] [stderr] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:317:38
[INFO] [stderr]     |
[INFO] [stderr] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:317:71
[INFO] [stderr]     |
[INFO] [stderr] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: 28 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]   --> src/message/mod.rs:69:10
[INFO] [stderr]    |
[INFO] [stderr] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]   --> src/message/mod.rs:87:10
[INFO] [stderr]    |
[INFO] [stderr] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:103:10
[INFO] [stderr]     |
[INFO] [stderr] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:132:10
[INFO] [stderr]     |
[INFO] [stderr] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:144:55
[INFO] [stderr]     |
[INFO] [stderr] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:157:19
[INFO] [stderr]     |
[INFO] [stderr] 157 |         for op in self.operations.iter() {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:164:10
[INFO] [stderr]     |
[INFO] [stderr] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:176:55
[INFO] [stderr]     |
[INFO] [stderr] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:201:10
[INFO] [stderr]     |
[INFO] [stderr] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:213:46
[INFO] [stderr]     |
[INFO] [stderr] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stderr]     |                                              ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:217:10
[INFO] [stderr]     |
[INFO] [stderr] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:228:42
[INFO] [stderr]     |
[INFO] [stderr] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stderr]     |                                          ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:232:10
[INFO] [stderr]     |
[INFO] [stderr] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:38
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:68
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:107
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:247:10
[INFO] [stderr]     |
[INFO] [stderr] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:261:50
[INFO] [stderr]     |
[INFO] [stderr] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:261:86
[INFO] [stderr]     |
[INFO] [stderr] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stderr]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:265:10
[INFO] [stderr]     |
[INFO] [stderr] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:278:10
[INFO] [stderr]     |
[INFO] [stderr] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:293:20
[INFO] [stderr]     |
[INFO] [stderr] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:294:20
[INFO] [stderr]     |
[INFO] [stderr] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:296:27
[INFO] [stderr]     |
[INFO] [stderr] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:306:10
[INFO] [stderr]     |
[INFO] [stderr] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:317:38
[INFO] [stderr]     |
[INFO] [stderr] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:317:71
[INFO] [stderr]     |
[INFO] [stderr] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: 28 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::prelude`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tokio::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:99:9
[INFO] [stderr]    |
[INFO] [stderr] 99 |     let mut stream = TcpStream::connect("0.0.0.0:8890");
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:104:21
[INFO] [stderr]     |
[INFO] [stderr] 104 |                 let mut msg = read_msg(&mut stream);
[INFO] [stderr]     |                     ----^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:173:21
[INFO] [stderr]     |
[INFO] [stderr] 173 |                 let mut msg = read_msg(&mut stream);
[INFO] [stderr]     |                     ----^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:222:29
[INFO] [stderr]     |
[INFO] [stderr] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stderr]     |           ----^^^^^^^^
[INFO] [stderr]     |           |
[INFO] [stderr]     |           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:112:50
[INFO] [stderr]     |
[INFO] [stderr] 112 |                         println!("auth {} fail", msg.code);
[INFO] [stderr]     |                                                  ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(safe_packed_borrows)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:166:86
[INFO] [stderr]     |
[INFO] [stderr] 166 |                         println!("read unknow msg type:{}, len:{}", header.msg_type, header.len);
[INFO] [stderr]     |                                                                                      ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:139:65
[INFO] [stderr]     |
[INFO] [stderr] 139 | ...                   room_id = String::from_utf8(result.room_id.clone()).unwrap();
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:145:117
[INFO] [stderr]     |
[INFO] [stderr] 145 |                         println!("user_id:{}, in room_id:{}, op_type:{} code:{}", user_id, room_id, result.op_type, result.code);
[INFO] [stderr]     |                                                                                                                     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:155:57
[INFO] [stderr]     |
[INFO] [stderr] 155 |                         let room_id = String::from_utf8(snapshot.room_id.clone()).unwrap();
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:157:38
[INFO] [stderr]     |
[INFO] [stderr] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:157:57
[INFO] [stderr]     |
[INFO] [stderr] 157 | ...                   room_id, snapshot.user_pos, snapshot.user_ready_status);
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:180:67
[INFO] [stderr]     |
[INFO] [stderr] 180 | ...                   println!("recv begin card: {:?}", update.provide_cards);
[INFO] [stderr]     |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:184:112
[INFO] [stderr]     |
[INFO] [stderr] 184 | ...   println!("cur_round:{} cur_step:{} user: {} on_hand:{:?} recv new card: {:?}", update.game_info.cur_game_round, update.game_info.cu...
[INFO] [stderr]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:184:145
[INFO] [stderr]     |
[INFO] [stderr] 184 | ...v new card: {:?}", update.game_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, up...
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:184:177
[INFO] [stderr]     |
[INFO] [stderr] 184 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:184:203
[INFO] [stderr]     |
[INFO] [stderr] 184 | ...pdate.game_info.cur_game_step, update.game_info.user_id, update.provide_cards, update.target);
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:203:97
[INFO] [stderr]     |
[INFO] [stderr] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:203:130
[INFO] [stderr]     |
[INFO] [stderr] 203 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step, up...
[INFO] [stderr]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:203:162
[INFO] [stderr]     |
[INFO] [stderr] 203 | ...e_info.cur_game_round, update.game_info.cur_game_step, update.game_info.user_id, update.op_type, update.target);
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:206:97
[INFO] [stderr]     |
[INFO] [stderr] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:206:130
[INFO] [stderr]     |
[INFO] [stderr] 206 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stderr]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:206:163
[INFO] [stderr]     |
[INFO] [stderr] 206 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:209:97
[INFO] [stderr]     |
[INFO] [stderr] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:209:130
[INFO] [stderr]     |
[INFO] [stderr] 209 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stderr]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:209:163
[INFO] [stderr]     |
[INFO] [stderr] 209 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:212:97
[INFO] [stderr]     |
[INFO] [stderr] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:212:130
[INFO] [stderr]     |
[INFO] [stderr] 212 | ...   println!("cur_round:{} cur_step:{} user: {}, do {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  u...
[INFO] [stderr]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:212:163
[INFO] [stderr]     |
[INFO] [stderr] 212 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:215:101
[INFO] [stderr]     |
[INFO] [stderr] 215 | ...   println!("cur_round:{} cur_step:{} user: {}, win by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step...
[INFO] [stderr]     |                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:215:134
[INFO] [stderr]     |
[INFO] [stderr] 215 | ...by {}, target:{}", update.game_info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update....
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:215:167
[INFO] [stderr]     |
[INFO] [stderr] 215 | ..._info.cur_game_round, update.game_info.cur_game_step,  update.game_info.user_id, update.op_type, update.target);
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:222:81
[INFO] [stderr]     |
[INFO] [stderr] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stderr]     |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:222:81
[INFO] [stderr]     |
[INFO] [stderr] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stderr]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:222:129
[INFO] [stderr]     |
[INFO] [stderr] 222 | ...   let mut cur_info = format!("cur_round:{} cur_step:{} ", op_list.operations[0].game_info.cur_game_round, op_list.operations[0].game_...
[INFO] [stderr]     |                                                                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:222:129
[INFO] [stderr]     |
[INFO] [stderr] 222 | ...ist.operations[0].game_info.cur_game_round, op_list.operations[0].game_info.cur_game_step);
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:224:35
[INFO] [stderr]     |
[INFO] [stderr] 224 |                         for op in op_list.operations.iter() {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:228:81
[INFO] [stderr]     |
[INFO] [stderr] 228 |                         let data: &[u8] = &bincode::serialize::<GameOperation>(&op_list.operations[0]).unwrap();
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:242:77
[INFO] [stderr]     |
[INFO] [stderr] 242 | ...                   let mut content = format!("round {} over:", update.cur_round).to_string();
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:235:78
[INFO] [stderr]     |
[INFO] [stderr] 235 | ...                   let mut content = format!("round {} start:", update.cur_round).to_string();
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:237:81
[INFO] [stderr]     |
[INFO] [stderr] 237 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:244:81
[INFO] [stderr]     |
[INFO] [stderr] 244 | ...                   content += &format!(" user:{} score:{}", i, update.user_cur_score[i]);
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/main.rs:253:53
[INFO] [stderr]     |
[INFO] [stderr] 253 |                         println!("game over: {:?}", over.user_cur_score);
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]   --> src/message/mod.rs:69:10
[INFO] [stderr]    |
[INFO] [stderr] 69 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]   --> src/message/mod.rs:87:10
[INFO] [stderr]    |
[INFO] [stderr] 87 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]    = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:103:10
[INFO] [stderr]     |
[INFO] [stderr] 103 | #[derive(Serialize, Deserialize, Copy, Clone)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:132:10
[INFO] [stderr]     |
[INFO] [stderr] 132 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:144:55
[INFO] [stderr]     |
[INFO] [stderr] 144 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:157:19
[INFO] [stderr]     |
[INFO] [stderr] 157 |         for op in self.operations.iter() {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:164:10
[INFO] [stderr]     |
[INFO] [stderr] 164 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:176:55
[INFO] [stderr]     |
[INFO] [stderr] 176 |         return HEADER_SIZE + GAME_INFO_SIZE + 2 + 8 + self.provide_cards.len();
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:201:10
[INFO] [stderr]     |
[INFO] [stderr] 201 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:213:46
[INFO] [stderr]     |
[INFO] [stderr] 213 |         return HEADER_SIZE + 1 + 8 + 4 + 8 + self.room_id.len();
[INFO] [stderr]     |                                              ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:217:10
[INFO] [stderr]     |
[INFO] [stderr] 217 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:228:42
[INFO] [stderr]     |
[INFO] [stderr] 228 |         return HEADER_SIZE + 1 + 8 + 8 + self.room_id.len();
[INFO] [stderr]     |                                          ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:232:10
[INFO] [stderr]     |
[INFO] [stderr] 232 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:38
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:68
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:243:107
[INFO] [stderr]     |
[INFO] [stderr] 243 |         return HEADER_SIZE + 8 + 8 * self.user_pos.len() + 8 + 1 * self.user_ready_status.len() + 8 + 1 * self.room_id.len();
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:247:10
[INFO] [stderr]     |
[INFO] [stderr] 247 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:261:50
[INFO] [stderr]     |
[INFO] [stderr] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:261:86
[INFO] [stderr]     |
[INFO] [stderr] 261 |         return HEADER_SIZE + 1 + 4 + 1 + 8 + 8 + self.user_cur_score.len() * 4 + 8 + self.user_score_change.len() * 4;
[INFO] [stderr]     |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:265:10
[INFO] [stderr]     |
[INFO] [stderr] 265 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:278:10
[INFO] [stderr]     |
[INFO] [stderr] 278 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:293:20
[INFO] [stderr]     |
[INFO] [stderr] 293 |         len += 8 + self.user_on_hand.len() * 1;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:294:20
[INFO] [stderr]     |
[INFO] [stderr] 294 |         len += 8 + self.on_game_user_id.len() * 8;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:296:27
[INFO] [stderr]     |
[INFO] [stderr] 296 |         for user_group in self.on_game_group_cards.iter() {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:306:10
[INFO] [stderr]     |
[INFO] [stderr] 306 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:317:38
[INFO] [stderr]     |
[INFO] [stderr] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stderr]     |                                      ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133)
[INFO] [stderr]    --> src/message/mod.rs:317:71
[INFO] [stderr]     |
[INFO] [stderr] 317 |         return HEADER_SIZE + 8 + 1 * self.room_id.len() + 4 + 8 + 4 * self.user_cur_score.len();
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
[INFO] [stderr]     = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `parse_to_room_manage_result`
[INFO] [stderr]   --> src/main.rs:72:4
[INFO] [stderr]    |
[INFO] [stderr] 72 | fn parse_to_room_manage_result(data: Vec<u8>) -> RoomManageResult {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `parse_to_room_update`
[INFO] [stderr]   --> src/main.rs:82:4
[INFO] [stderr]    |
[INFO] [stderr] 82 | fn parse_to_room_update(data: Vec<u8>) -> RoomUpdate {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/main.rs:229:25
[INFO] [stderr]     |
[INFO] [stderr] 229 |                         stream.write(data);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: 74 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/game_client-5a6210d39692d7d6
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/game_client-9e18f69e316f58f6
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests game_client
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2643ab695c6c8e523b253f61316f57617598f77c7cce4a3c62e7c86628bc0b5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2643ab695c6c8e523b253f61316f57617598f77c7cce4a3c62e7c86628bc0b5f", kill_on_drop: false }`
[INFO] [stdout] 2643ab695c6c8e523b253f61316f57617598f77c7cce4a3c62e7c86628bc0b5f
